Object
建立方法
new一個對象的過程
- 建立一個對象
- 將構造函數的做用域賦給新對象(this指向這個新對象)
- 執行構造函數中的代碼(爲新對象添加屬性)
- 返回新對象
Array
建立方法
檢測方法
- instanceof
- if(value instanceof Array){//do Something}
- Array.isArray()
轉換方法
- toString():返回由數組中每一個值的字符串造成而拼接而成的一個以逗號分隔的字符串
- valueOf():返回數組
- toLoacleString():建立一個數組值以逗號分隔的字符串
棧方法(後進先出)
- push():添加到數組末尾,返回修改後數組長度
- pop():從數組末尾移除最後一項,返回移除的項
隊列方法(先進先出)
- push()
- shift():移除第一項,返回移除項
- unshift():數組前端添加任意個項,返回新數組長度
重排序方法
操做方法
- concat():添加。裏面的值添加合爲一個結果數組
- slice():取出其中項
- splice():插入項
位置方法
- indexOf():indexOf(要查找的項,(可選)表示查找起點的位置索引),從前到後
- lastIndexOf():從末尾向前
- 沒有找到返回-1
迭代方法
歸併方法
Date
RegExp
Function
函數聲明與函數表達式
//函數聲明
function sum(num1,num2){
//do something
}
//函數表達式
var sum = function(num1,num2){
//do something
};
解析器在向執行環境中加載數據時,解析器會先讀取函數聲明,並使其在執行任何代碼以前可用(可訪問),函數表達式則必須等到解析器執行到它所在代碼行,纔會被真正的解釋執行。(函數聲明提高)前端
內部屬性(對象)
函數屬性
函數方法(非繼承)
基本包裝類型
//若
var s1 = "some text";
var s2 = s1.substring(2);
//s1是字符串,沒有方法,可是後臺自動建立一個對應的基本包裝類型的對象(String)
//實際是
var s1 = new String("some text");
var s2 = s1.substring(2);
s1 = null;
過程
- 建立String類型的一個實例
- 在實例上調用指定方法
- 銷燬實例
基本包裝類型與引用類型的區別
對象的生存期數組
使用new操做符建立的引用類型的實例在執行流離開當前做用域以前一直保存在內存內。而自動建立的基本包裝類型對象,值存在於一行代碼執行的瞬間瀏覽器
單體內置對象
定義app
由ECMAScript提供的、不依賴與宿主環境的對象這些對象在ECMAScript程序執行以前就已經存在了(ECMA-262)
意思就是,沒必要顯示地實例化內置對象,由於已經實例化了函數
- 例子
- Object Array String
- Global:大多數ECMAScript實現中不能直接訪問Global對象,Web瀏覽器實現了承擔該角色的window對象。全局變量和函數都是Global對象的屬性
- Math