麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > JavaScript > 正文

關于Javascript作用域鏈的八點總結

2019-11-20 21:30:41
字體:
來源:轉載
供稿:網友

1. JavaScript函數的作用域鏈分為定義時作用域鏈和運行時作用域鏈;

2.函數被定義的時候,它有一個屬性[[scope]]標明它的定義作用域鏈,定義時作用域鏈[[scope]]遵守這樣的規則:一個函數的定義時作用域鏈[[scope]]總是它所在的外部函數的執行時作用域鏈;

3.全局函數的定義作用域鏈只包含window的屬性;

4.一個函數的執行時作用域鏈總是在定義時作用域鏈的頭部壓入當前活動對象(它包含this,arguments,參數,局部變量);

5.函數執行時,變量尋址總是從作用域鏈的頂端朝下尋找;所以全局變量的尋址速度最慢;

6.內部函數被執行的時候,他仍然能夠訪問它完整的作用域鏈。這就是閉包能夠在運行時能夠訪問已經結束的外部函數定義的變量的原因;

7.函數執行遇到with語句時,會臨時在作用域鏈頂部壓入with指定的對象的所有屬性作為作用域鏈最頂端;

8.函數執行遇到catch的時候,會臨時在作用域鏈頂部壓入catch指定的錯誤對象作為作用域鏈的最頂端;

下面給一個例子并繪制出作用域鏈,以加深理解:

有這么一段代碼:

復制代碼 代碼如下:

function assignEvents(){
    var id = "xdi9592";
    document.getElementById("save-btn").onclick = function(event){
        saveDocument(id);
    };
}

把此函數產生的匿名閉包稱為Closure,則繪制出下圖為assignEvent執行時作用域鏈和Closure的定義時作用域鏈:

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 成年免费网站 | 久久久久久久久久久久久久久久久久 | 欧美一级片一区 | 91社区在线观看 | 欧美一区二区网站 | 人人看人人艹 | 综合国产一区 | 久久久一区二区精品 | 久久精品国产久精国产 | 日日噜噜噜噜久久久精品毛片 | 国产免费乱淫av | 天天天干夜夜夜操 | 国产成视频在线观看 | 成人免费一区二区三区在线观看 | 97超视频在线观看 | 一区二区三区视频在线 | 久久久久久久久久久久久久久伊免 | 午夜视频你懂的 | 亚洲精品在线观看网站 | 欧美老外a级毛片 | 国产一级小视频 | chinese中国真实乱对白 | 国产黄色免费网站 | 黄色毛片a级 | 91avsese| av免费在线播放网址 | 国产日韩在线观看一区 | 亚洲国产色婷婷 | 国产精品欧美久久久久一区二区 | 九色激情网 | 密室逃脱第一季免费观看完整在线 | 成人毛片免费视频 | 日韩美香港a一级毛片免费 日韩激情 | 国产精品一二区 | 成人综合免费视频 | 特级无码毛片免费视频尤物 | 92看片淫黄大片欧美看国产片 | 一级一级一级一级毛片 | 性欧美一区二区 | 二区三区四区 | 九色com|