整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          閉包的微觀世界

          如果要更加深入的了解閉包以及函數a和嵌套函數b的關系,我們需要引入另外幾個概念:函數的執行環境(excution context)、活動對象(call object)、作用域(scope)、作用域鏈(scope chain)。以函數a從定義到執行的過程為例闡述這幾個概念。

          1. 定義函數a的時候,js解釋器會將函數a的作用域鏈(scope chain)設置為定義a時a所在的“環境”,如果a是一個全局函數,則scope chain中只有window對象。
          2. 當執行函數a的時候,a會進入相應的執行環境(excution context)
          3. 在創建執行環境的過程中,首先會為a添加一個scope屬性,即a的作用域,其值就為第1步中的scope chain。即a.scope=a的作用域鏈。
          4. 然后執行環境會創建一個活動對象(call object)。活動對象也是一個擁有屬性的對象,但它不具有原型而且不能通過JavaScript代碼直接訪問。創建完活動對象后,把活動對象添加到a的作用域鏈的頂端。此時a的作用域鏈包含了兩個對象:a的活動對象和window對象。
          5. 下一步是在活動對象上添加一個arguments屬性,它保存著調用函數a時所傳遞的參數。
          6. 后把所有函數a的形參和內部的函數b的引用也添加到a的活動對象上。在這一步中,完成了函數b的的定義,因此如同第3步,函數b的作用域鏈被設置為b所被定義的環境,即a的作用域。
          了解更多內容:請訪問:雨點網絡 石家莊網站制作 石家莊網站建設

          主站蜘蛛池模板: 亚洲综合av永久无码精品一区二区| 韩国理伦片一区二区三区在线播放| 肉色超薄丝袜脚交一区二区| 少妇特黄A一区二区三区| 国产精品成人99一区无码| 中文字幕在线无码一区二区三区| 亚洲精品伦理熟女国产一区二区| 激情内射亚州一区二区三区爱妻| 乱码人妻一区二区三区| 亚洲无删减国产精品一区| 国产精品亚洲产品一区二区三区 | 国产精品香蕉在线一区| 中文字幕一区在线观看| 精品免费AV一区二区三区| 亚洲av色香蕉一区二区三区蜜桃| 国产成人无码精品一区二区三区 | 国产一区二区在线| 精品一区二区三区在线播放视频| 亚洲色精品vr一区二区三区| 国产99精品一区二区三区免费| 国模吧一区二区三区精品视频| 日韩国产免费一区二区三区| 国产成人精品一区二区秒拍| 国精产品一区二区三区糖心 | 3D动漫精品一区二区三区| 亚洲人成人一区二区三区| 东京热无码av一区二区| 日韩一区二区精品观看| 日韩av片无码一区二区三区不卡 | 国产肥熟女视频一区二区三区| 亚洲AV无码国产精品永久一区| 亚洲日韩AV一区二区三区中文| 精品国产一区二区三区无码| 亚洲视频一区二区三区四区| 亚洲一区精品视频在线| 午夜一区二区免费视频| 国产主播福利精品一区二区| 痴汉中文字幕视频一区| 国产一区二区三区免费观看在线| 日本中文字幕一区二区有码在线| 无码一区二区三区|