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

首頁 > 編程 > JavaScript > 正文

JavaScript 函數的執行過程

2019-11-20 10:07:36
字體:
來源:轉載
供稿:網友

1. 每一個JavaScript函數都是Function對象的一個實例, 它有一個僅供JavaScript引擎存取的內部屬性[[Scope]]. 這個[[Scope]]存儲著一個作用域的集合, 這個集合就叫”作用域鏈”, 集合中存儲著”可變對象”VO或”活動對象”AO(AO比VO多this和arguments屬性).

2. 當函數被創建后, 其父級作用域的作用域鏈中的所有可變對象會被加入到它的[[scope]]中(如果父作用域是全局, 那么當前函數的作用域鏈中就只會加入一個全局對象).

3. 當函數被執行時, 函數的執行環境會被推入一個環境棧中:

1.此時進入函數的變量初始化階段, 此階段會確定函數內部: this值, 函數的參數, 函數的聲明, 變量的聲明, 以及arguments. 根據這些值組成當前函數的活動對象AO, 之后會將AO對象保存到當前函數作用域鏈的首位.

注意: AO按如下順序填充:

1.函數參數(若有傳參, 會被賦值, 若未傳參, 初始化值為undefined) 優先級第二
2.函數聲明(若發生命名沖突, 會覆蓋) 優先級最高
3.變量聲明(初始化變量值為undefined, 若發生命名沖突, 會忽略) 優先級第三
2.然后就到了函數的執行階段, 此階段當前函數中使用到的所有變量和函數聲明都會從當前函數的[[Scope]]作用域鏈中查找, 根據作用域鏈中對象的位置首先會查找當前函數的AO對象, 如果沒有再查找上層對象, 最后找到全局對象, 如果都沒有則會報錯(變量未定義).

以上這篇JavaScript 函數的執行過程就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 中文在线国产 | av不卡免费在线 | 成人电影毛片 | 色视频在线播放 | 激情91 | 欧美成人精品一区二区三区 | 久久中文一区 | 日本欧美一区二区 | 一级做人爱c黑人影片 | 国产亚洲精品久久久久久久久久 | 国产一级爱c视频 | 久久成人综合视频 | 黄色毛片一级 | 亚洲一区久久 | 久久久www成人免费毛片 | 国产激情精品一区二区三区 | 国产成人精品一区在线播放 | 成人啪啪色婷婷久 | 国产一区二区免费在线观看视频 | 中文字幕亚洲一区二区三区 | 羞羞色院91精品网站 | 91久久99热青草国产 | 国产精品99久久免费观看 | 日本中文字幕网址 | 精品一区免费 | 日韩精品中文字幕在线播放 | 国产一级性生活视频 | 免费观看在线 | 欧美wwwwww | 粉嫩蜜桃麻豆免费大片 | 91在线播放国产 | 精品国产一区二区久久 | 久久国产精品免费视频 | 蜜桃久久一区二区三区 | 免费国产一级淫片 | 国产99视频精品免视看9 | 黄色片观看 | 欧美日韩国产成人在线观看 | 久久综合综合 | 中文字幕1区2区 | 国产精品欧美久久久久一区二区 |