重讀js高程筆記二

来源:http://www.cnblogs.com/lifesimple/archive/2016/01/27/zhong-dujs-gao-cheng-bi-ji-er.html
-Advertisement-
Play Games

引用類型的值(對象)是引用類型的一個實例,在ES中引用類型是一種數據結構,將數據和功能組織在一起。引用類型有時候也被稱之為對象定義,因為他們描述的是一類對象所具有的屬性和方法。Object類型兩種創建方式1 new Object()var person = new Object();person.n...


引用類型的值(對象)是引用類型的一個實例,在ES中引用類型是一種數據結構,將數據和功能組織在一起。引用類型有時候也被稱之為對象定義,因為他們描述的是一類對象所具有的屬性和方法。

Object類型

兩種創建方式

1 new Object()

var person  = new Object();
person.name = "jing";
person,age = 20;

2 對象字面量

var person = {
name:"jing",
age:20
}

屬性的訪問兩種方式,1-person.name,2-person['name'],後一種方式的好處可以用來在代碼中拼接屬性名。

Array

創建方式

// 使用new Array() 構造函數
var arr1 = new Array();
var arr2 = new Array(20); // 長度為20
var arr3 = new Array("red","blue","yellow");
// 數組字面量表示法
var arr4 = ["red","blue","yellow"];

檢測數組方法

  • arr instanceof Array,頁面多個框架引起的多個全局執行環境問題。怎麼理解呢(?)
  • ES5引入的Array.isArray(arr)解決上面的問題 #### Array的常用方法
  • 轉換方法(所有對象都具有),toString()/toLocalString()/ValueOf()
  • 棧方法,push()
  • 隊列方法,shift() unshift()-添加元素
  • 重排序,reverse()sort() (?)
  • 操作方法,concat() slice()splice()-刪除/插入/替換
  • 位置方法,indexOf() lastIndexOf()
  • 迭代方法,every()/filter()/forEach()/map()/some()

Date

創建方法

var date1 = new Date(args);

常見使用方法

  1. 轉換方法,toString()/toLocalString()/ValueOf()
  2. 日期格式化方法,toDateString() toTimeString() toLocalDateString() toLocalTimeString() toUTCString()
  3. 日期時間組件方法,getTime/Date/Year/Month()... setTime/Date/Year/Month()... getset 獲取時間,設置時間

regExp

regExp是ES支持正則表達式的一個介面
正則表達式,用得好可以少寫很多邏輯代碼

Function

  1. 函數聲明和函數表達式,解析器在載入數據時候,會對函數聲明進行函數聲明提升
  2. 作為值得函數,函數可以作為參數傳入到另一函數中的使用方法
  3. 內部屬性和方法 arguments,this,.length,.prototype apply() call()
  4. 沒有重載

Boolean

        var falseObj = new Boolean(false); 
        var falseValue = false;

        console.log(falseObj && true); // true
        console.log(falseValue && true); // false

        console.log(typeof falseObj); // Object
        console.log(typeof falseValue); // boolean

        console.log(falseObj instanceof Boolean); // true
        console.log(falseValue instanceof Boolean) // false
  • Boolean類型是與布爾值對應的引用類型
  • 在布爾表達式中使用布爾對象

Number

與數字對應的引用類型,幾個好用的方法

var num = 10;
console.log(num.toString(2));
console.log(num.toString(8)); // 加入參數轉 顯示其他進位

console.log(num.toFixed(2)); // 保留幾位小數

String

String是字元串的對象包裝類型
一些常用的方法如下

  • charAt()/charCodeAt() 找到第幾位字元
  • slice()/substr()/substring() 截取 字元串,註意差別
  • indexOf()/lastIndexOf() 找到位置
  • trim()ES5引入的,創建一個字元串副本,刪除前後的空格返回
  • toUpperCase()/toLowerCase() 大小寫轉換
  • 模式匹配本質上是調用了RegExpexec(),有match()/search()/replace()/split()
  • localeCompare() 比較兩個字元串
  • str.fromCodeAt(104,101,108,108,101) //hello 傳入多個字元編碼轉換成一個字元串

單體內置對象

Global對象
- enCodeURI()/enCodeURIComponent() URI編碼方法
- eval() 強大到直接執行語句
- window對象

Math對象
- min()/max()
- ceil()/floor()/round() 向上向下標準舍入
- random() 返回介於0和1之間的隨機數
- 其他abs/sqrt/...


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 定義日誌輸出函數(function(){ if(window['console']){ return; } window['console'] = { log: function(){} ,clear: function(){} ,debug: function(){} ,error: ...
  • 今天聊聊一個經典的佈局實例:實現一個三列佈局,其中左側和右側的部分寬度固定,中間部分寬度隨瀏覽器寬度的變化而自適應變化可能很多朋友已經笑了,這玩意兒通過雙飛翼佈局就能輕鬆實現。不過,還請容我在雙飛翼之外,循序漸進地介紹一下我們可以如何實現一個三列佈局。1. 首先,使用浮動佈局來實現一下See ...
  • var val=$('input:radio[name="sex"]:checked').val();附三種方法都可以:$('input:radio:checked').val(); $("input[type='radio']:checked").val();$("input[name='rd.....
  • 適合EXT keycode的查詢A 65B 66C 67D 68E 69F 70G 71H 72I 73J 74K 75L 76M 77N 78O 79P 80Q 81R 82S 83T 84U 85V 86W 87X 88Y 89Z 900 4...
  • 設置全站的字體一直是一個簡單而又不簡單的事,因為深入下去,這裡面牽扯到太多的東西。本文主要是想說說對於一個普通的網站,如何根據自己的需求選擇字體。1、必備知識首先,我們應該明確,並不是你設置了這種字體,用戶電腦便會以這種字體顯示。如果用戶電腦沒有安裝這種字體,那麼它便會以你設置的第二種字體來渲染。看...
  • 語義化這個詞我想大家都看到了無數次,特別是在一些招聘廣告上。其實我自己也是,不過每次看到都覺得是那些招聘公司複製的,其實他們根本說不清語義化是什麼,而且也根本不看重。所以我一直也沒把這東西當回事過。然而最近當我再次看到這個詞時,我想我應該好好思考下這問題了。就寫篇博客記錄下。一、什麼是語義化?在解釋...
  • 效果:http://hovertree.com/texiao/css3/1/本效果主要使用text-shadow實現.參考:http://hovertree.com/h/bjaf/css3_text_effect.htm代碼如下:超炫CSS3文字特效集錦DEMO演示 - 何問起OutlinedAOu...
  • DOM操作分為3個方面:DOM Core 任何一種支持DOM Core的語言都可以使用它,比如getElementById就是DOM Core操作HTML-DOM 只能用來處理web文檔CSS-DOM 針對CSS的操作關於jQuery中的DOM操作查找節點可以很輕易通過就jQuery選擇器來找到.....
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...