this的一點見解

2021-07-23 19:50:41 字數 1373 閱讀 1224

執行環境(execution context,有時也成為上下文,有時也稱為」環境「)。執行環境定義了變數和函式有權訪問那些資料,決定各自的行為。

全域性執行環境是最外圍的執行環境。全域性執行環境一直都存在。宿主環境不同執行環境也不同。每乙個環境都有乙個執行環境。當執行流進入乙個函式時,函式的環境就會被推入乙個環境棧中。函式執行完後,棧將其環境彈出,把控制權返回給之前的執行環境。

當**在乙個環境中,會建立乙個變數物件的乙個作用域鏈(scope chain)。作用域的前端始終是當前執行的**所在環境的變數物件。如果這個環境是函式,則將其活動物件作為變數物件,活動物件最開始時只包含乙個變數,即arguments物件。作用域鏈中的下乙個物件來自包含的環境,一次延續到執行的全域性環境。全域性執行環境的變數始終是作用域鏈中的最後乙個物件。

識別符號解析是沿著作用域鏈一級一級搜尋識別符號的過程。搜尋過程始終是從作用域鏈的最前端開始。

函式的裡面識別符號從形參開始查詢,其次在函式體裡面的變數。搜尋完後,到下一包含環境,逐次搜尋環境(都是從形參開始搜尋然後函式體的變數),直到全域性環境。

var name ="jaden";
function test()
settimeout(my,1000,"zhou");
my();

}}

var t = new test();

t.getname();

var a = t.getname;

a();

output: bill

undefined jaden

jaden

undefined jaden

zhou jaden

zhou jaden

驗證了識別符號解析的。

得出的規則:this除new 和字面物件中外表示的都是window

在new的建構函式把this看成乙個隱式變數。

new的建構函式是有生命週期的(undefined jaden是物件『』生命週期「的體現)

THIS MODULE的一點見解

include module license gpl static int init hellow init void static void exit hellow exit void module init hellow init module exit hellow exit 在我們執行ins...

字元編碼的一點見解

utf 8 型別為可變長型別,但是utf 8和unicode轉換無需查表,他們的有用資訊部分是完全一致的,轉換規則如下 utf 8 0000 007f 0 x 0080 07ff 110 xx 10 0800 ffff 1110 x 10 10 可見它是根據數值的大小來做長度區分的 1.小於7f 1...

對工作的一點見解

黨務文字秘書主要負責起草黨委的稿子報告 計畫總結 綜合性重要檔案 綜合性重要文稿等。但是,這個崗位絕不僅僅是處理文字工作那麼簡單,他又是黨委書記的 參謀助手 是上情下達 下情上傳 承上啟下的重要環節,要做好秘書工作,不斷提高為領導服務的質量和水平,對各方面的素質都提出了很高的要求,對我們政治上 思想...