JavaScript 語言精粹讀書筆記 第四章

2021-06-28 04:21:07 字數 638 閱讀 4706

當函式作為乙個物件的屬性時,被稱為方法,當方法被呼叫時,this被繫結到該物件。方法可以通過this訪問物件,this到物件的繫結發生在呼叫時。 函式呼叫 當乙個函式並非乙個物件的屬性時,被作為函式呼叫。這時,this被繫結到全域性物件。因此,內部函式無法通過this訪問外部物件。 可以通過var that =this;在通過that訪問外部物件。

使用new來呼叫,將會建立一新物件,並且將其鏈結到該函式的prototype上,同時this會繫結在新物件上。

函式訪問被建立時所處的上下文,通過這種方式可以持久化區域性變數,可以實現對變數訪問的控制。 如下**實現乙個簡單的閉包,使status常駐記憶體,並且保證只能通過getstatus獲取值以及inc方法修改該值。

var o= function (status) ,

inc:function()

};}(1)

下面的例子可以很好的理解內部函式能訪問外部函式的實際變數而不是副本。

var a={};

var b={};

var c={};

var arr=[a,b,c];

var fun= function (arr) {

var i;

for(i=0;i

JavaScript語言精粹 筆記

1 物件屬性檢索 var student 要檢索name,可以用student name 或者 student.name。2 物件屬性更新 student.name wang student.nickname yu 物件之前沒有nickname屬性,則自動擴充到改物件中。3 物件的引用 var x ...

《JavaScript語言精粹》摘錄一

1 識別符號 區分大小寫 第乙個字元必須是字母 下劃線或美元符號,其他字元可以是字母 下劃線 美元符號或數字 關鍵字和保留字不可用作識別符號 關鍵字 if else catch等 保留字 abstract boolean break byte case catch char class const ...

讀js語言精粹收穫

1.js可以根據選擇跳出多層迴圈 在迴圈前加個標籤 label for var i 0 i 2 i 2.typeof運算子產生的值只有 number undefined string boolean es5的基礎資料型別少了乙個null function object 注 array和null結果都...