您好,登錄后才能下訂單哦!
這篇文章主要介紹“JavaScript作用域的相關知識點有哪些”,在日常操作中,相信很多人在JavaScript作用域的相關知識點有哪些問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”JavaScript作用域的相關知識點有哪些”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
通常來說,一段程序代碼中所用到的名字并不總是有效和可用的,而限定這個名字的可用性的代碼范圍就是這個名字的作用域。作用域的使用提高了程序邏輯的局部性,增強了程序的可靠性,減少了名字沖突。
JavaScript(es6前)中的作用域有兩種:
全局作用域
局部作用域(函數作用域)
在ES6后,還有一個塊級作用域,以后在詳述。
作用于所有代碼執行的環境(整個 script
標簽內部)或者一個獨立的 js 文件。
作用于函數內的代碼環境,就是局部作用域。 因為跟函數有關系,所以也稱為函數作用域。
例如:
for(let i=0;i<100;i++){ sum += i; }
在JavaScript中,根據作用域的不同,變量可以分為兩種:
全局變量
局部變量
在全局作用域下聲明的變量叫做全局變量(在函數外部定義的變量)。
全局變量在代碼的任何位置都可以使用
在全局作用域下 var 聲明的變量 是全局變量
特殊情況下,在函數內不使用 var 聲明的變量也是全局變量(不建議使用)
在局部作用域下聲明的變量叫做局部變量(在函數內部定義的變量)
局部變量只能在該函數內部使用
在函數內部 var
聲明的變量是局部變量
函數的形參實際上就是局部變量
全局變量:在任何一個地方都可以使用,只有在瀏覽器關閉時才會被銷毀,因此比較占內存。
局部變量:只在函數內部使用,當其所在的代碼塊被執行時,會被初始化;當代碼塊運行結束后,就會被銷毀,因此更節省內存空間。
根據在內部函數可以訪問外部函數變量的這種機制,用鏈式查找決定哪些數據能被內部函數訪問,就稱作作用域鏈
只要是代碼,就至少有一個作用域
寫在函數內部的局部作用域
如果函數中還有函數,那么在這個作用域中就又可以誕生一個作用域
例如:對下面的代碼進行分析判斷結果是幾
function f1() { var num = 123; function f2() { console.log( num ); } f2(); } var num = 456; f1();
可知最終的結果為:123
同樣,也可以采取就近原則的方式來查找變量最終的值。
到此,關于“JavaScript作用域的相關知識點有哪些”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。