JS中的作用域鏈是在什麼時候建立的?

時間 2021-05-08 20:13:48

1樓:前端小胖

作用域鏈說白了就是作用域的集合(子集可以訪問父集,父集不能訪問子集)1、函式在執行的過程中,先從自己內部尋找變數2、如果找不到,再從建立當前函式所在的作用域去找,從此往上,也就是向上一級找。

案例

function

fn()

fn2()

}fn1()}

fn()

2樓:

JS作用域分為兩種一種是區域性(function) 一種是全域性(window) 全域性包含區域性區域性在全域性裡面類似於父子級關係注意全域性只有乙個區域性可以有一堆而這一堆的區域性作用域又可以使兄弟父子爺孫祖孫關係 (就是 ul li ,div ul li , li li );

作用域鏈就是當函式呼叫時的作用域連線(注意函式生命週期分為呼叫和不呼叫就是活著的和死著的 ) 當函式呼叫時候會建立函式作用域物件(也叫做活動物件)AO 而函式執行結束這個東西就會被釋放而這個東西儲存著所有的函式內部的變數 (注意,形參,arguments 都被活動物件儲存著但是 arguments儲存的是全部實參) 這個時候活動物件 AO就會進行連線就叫做作用域鏈

列子:var a = '全域性';

(function ())()

JS 作用域鏈的理解對學習閉包很有幫助

3樓:張立理

這個作用域鏈的過程從ES3到ES5到ES2015一直在變,由於太煩了我就不講詳細的過程了

但最終的結論是一樣的,作用域鏈的非自己部分在函式物件被建立(函式宣告、函式表示式)的時候建立,而不需要等到執行

作用域鏈的前面部分是靜態的,所有函式共享同乙個鏈,當函式執行時,建立乙個自己當次執行的作用域,然後把這個作用域與前面共享的鏈關聯起來

csgo中煙的作用以及什麼時候扔?

杉海 煙用處很廣泛。首先就是進攻堵CT槍線,dust2警家煙,Xbox煙,荒漠迷城b視窗煙,拱門煙,ct煙,VIP煙等等,這是t進攻需要封住ct槍線的,防止ct多角度打一點。其次ct防守,有各種單向煙。其次ct拆包菸,顧名思義,給c4上丟,在菸裡拆包。然後就是滅火煙,csgo煙可以滅火。實戰中煙用處...

steam是從什麼時候爬到鄙視鏈頂端的?

Skywalker Liu 頂層?steam玩家不一直羨慕主機嗎?還原罪,遊戲製作出來就是為了娛樂大眾的,要是按題主的理論,遊戲大眾化之後會產生怨念,那沒有主機的都不配玩遊戲了? Sonic steam就帶原罪?一切老玩家鄙視?合著我家用機從小學紅白機開始玩到md ss ps dc gc ps2 p...

戰爭雷霆中戰鬥機的襟翼的作用是啥,什麼時候用?

BaltoGracioso 不談現實效果,只談遊戲內容 根據遊戲檔案內的分析,戰雷中襟翼的作用是增大公升力係數,同時會增大阻力係數。在戰雷中有乙個面板資料是 迴轉時間 但有乙個更重要的指標是 迴轉半徑 一架飛機水平穩盤迴轉效能如何,和迴轉半徑關係最大,迴轉時間往往不能體現真正的穩盤迴轉效能。在戰雷當...