javascript是物件導向的,javascript中的一切都是對象。
變數的類型檢測:變數的建構函式最合適。
範圍:
在js裡,範圍是由函數劃分的,而不是代碼塊(block)劃分的(比如while,if和for語句中間。)
所有屬於全域範圍的變數都是window對象的屬性(property)。
例如
//一個全域範圍下的變數,儲存了字元'test'var test = 'test';//你可以發現我們的全域變數和window對象的test屬性是一致的alert(window.test=test);
如果變數沒有顯示定義,他就是全域的.
閉包:(功能太複雜,暫時搞不清)
閉包意味著內層的函數可以引用存在於包圍他的函數內的變數,即使外層函數執行已經終止。
內容物件:
內容物件是通過this變數體現的,這個變數永遠指向當前代碼所處的對象中。javascript提供了call和apply實現這個功能。
//一個設定內容物件顏色樣式的簡單函數function changeColor( color ){ this.style.color=color;}//在window對象調用此函數會失敗,因為window對象沒有style屬性changeColor("white");//找出id為mian的文檔var main = document.getElementById("main");//使用call方法將它的顏色置為黑色。call方法將內容物件設定為第一個參數//並將其他參數做為原函數的參數changeColor.call(main,"black");//設定body元素顏色的函數function setBodyColor(){ //apply方法將內容物件設定為第一個參數指定的body元素,第2個參數是傳給函數的所有參數的數組 changColor.apply(document.body,arguments);}//將body的顏色設定為黑色setBodyColor("black");
對象:
代碼說明一切.
上下文相關的方法和屬性
1,公用方法
2,私人方法
3,特權方法
4,靜態方法