第一章精華
第二章語法
1.空白和注釋
2.標識符
3.數字(64位浮點數,NaN,Infinity,Math)
4.字符串:16位,轉義字符,length屬性
5語句:false(false,null,undefined,空字符串,數字0數字NaN),其他的都為ture;
6.表達式:
7.字面量
8.函數
第三章對象
1.javascript的簡單類型包括數字,字符串,布爾值,null值和undefined,其他所有的值都是對象。
2.一個對象字面量就是包圍在一對花括號中的零個或多個名、值對;
3.檢索:點號;更新:賦值;引用;原型;typeof;枚舉;刪除;減少全局變量污染;
第四章函數
1.編程就是將一組需求分解成一組函數與數據結構的技能;
2.在javascript中函數就是對象。
對象是名/值對的集合并擁有一個連到原型對象的隱藏連接。
對象字面量產生的對象連接到object.prototype
函數對象連接到function.prototype,每個函數在創建是附有兩個隱藏屬性:函數的上下文和實現函數行為的代碼;每個函數對象在創建時也隨帶一個prototype屬性,它的值是一個擁有constructor屬性且值為該函數的對象;
3.函數字面量:function名字(參數){語句}
4.調用模式:方法調用模式(當一個函數被保存為對象的一個屬性是,稱它為一個方法,當一個方法被調用時,this被綁定到該對象),
函數調用模式(當一個函數并非一個對象的屬性時,那么它被當作一個函數來調用,當函數以此模式調用時,this被綁定到全局對象),
構造器調用模式(如果在一個函數前面帶上new來調用,那么將創建一個隱藏連接到該函數的prototype成員的新對象,同時this將會被綁定到那個新對象上),
apply調用模式(apply方法接受兩個參數:一個是將被綁定給this的值,一個是一個參數數組)
5.參數:存在arguments中
6.返回值:如果沒有指定返回值,則返回undefined,如果在函數以在前面加上new前綴的方式來調用,且返回值不是一個對象,則返回this;
7.異常
8.給類型增加方法
9.遞歸函數
10.作用域
11.閉包
12.回調
13.模塊
14.級聯;套用;記憶;
第五章繼承
1.javascript是一門基于原型的語言,意味著對象直接從其他對象繼承;
2.this.prototype={constructor:this};
3.一個新對象可以繼承一個舊對象的屬性;
第六章數組
1.數組字面量:var empty=[];
2.length,splice,
3.當屬性名是小而連續的整數時,你應該使用數組,否則,使用對象;
第七章正則表達式
第八章方法
1.Array:
contact();
join();
pop();
push();
reverse();
shift();
slice();
sort();
splice();
unshift();
2.Function
apply();
3.Number
toExponential();
toFixed();
toPrecision();
toString();
4.Object
hasOwnProperty();
5.RegExp
exec();
test();
6.String
chatAt();
charCodeAt();
contact();
indexOf();
lastIndexOf();
localeCompare();
match();
replace();
search();
slice();
split();
substring();
toLocaleLowerCase();
toLocaleUpperCase();
toLowerCase();
toUpperCase();
fromCharCode();
第九章代碼風格
第十章優美的特性
1.函數是頭等對象:
在精簡javascript中,函數是有詞法作用域的閉包;
2.基于原型繼承的動態對象:
對象是無類別的,我們可以通過普通的賦值給任何對象增加一個新成員元素,一個對象可以從另一個對象繼承成員元素;
3.對象字面量和數組字面量:
這對創建新的對象和數組來說是一種非常方便的表示法javascript字面量是數據交換格式JSON的靈感之源;