js作用域和作用域鏈及預(yù)解析
變量---->局部變量和全局變量,
作用域:在某個空間范圍內(nèi),可以對數(shù)據(jù)進(jìn)行讀寫操作
局部作用域和全局作用域
js中沒有塊級作用域—一對括號中定義的變量,這個變量可以在大括號外面使用
函數(shù)中定義的變量是局部變量
作用域鏈:變量的使用,從里向外,層層的搜索,搜索到了就可以直接使用了
層層搜索,搜索到0級作用域的時候,如果還是沒有找到這個變量,結(jié)果就是報錯
在 JavaScript 中, 對象和函數(shù)同樣也是變量。
在 JavaScript 中, 作用域為可訪問變量,對象,函數(shù)的集合。
JavaScript 函數(shù)作用域: 作用域在函數(shù)內(nèi)修改。
JavaScript 局部作用域
變量在函數(shù)內(nèi)聲明,變量為局部作用域。
局部變量:只能在函數(shù)內(nèi)部訪問。
因為局部變量只作用于函數(shù)內(nèi),所以不同的函數(shù)可以使用相同名稱的變量。
局部變量在函數(shù)開始執(zhí)行時創(chuàng)建,函數(shù)執(zhí)行完后局部變量會自動銷毀。
JavaScript 全局變量
變量在函數(shù)外定義,即為全局變量。
全局變量有 全局作用域: 網(wǎng)頁中所有腳本和函數(shù)均可使用。
如果變量在函數(shù)內(nèi)沒有聲明(沒有使用 var 關(guān)鍵字),該變量為全局變量。
JavaScript 變量生命周期
JavaScript 變量生命周期在它聲明時初始化。
局部變量在函數(shù)執(zhí)行完畢后銷毀。
函數(shù)參數(shù)
函數(shù)參數(shù)只在函數(shù)內(nèi)起作用,是局部變量。
HTML 中的全局變量
在 HTML 中, 全局變量是 window 對象: 所有數(shù)據(jù)變量都屬于 window 對象。
作用域鏈:從子集作用域返回到父集作用域的過程
局部有能力去改外面(全局)的值
預(yù)解析:
預(yù)解析:在當(dāng)前作用域下,js運(yùn)行之前,會把帶有var和function關(guān)鍵字的事先聲明,并在內(nèi)存中安排好。然后再從上到下執(zhí)行js語句。
預(yù)解析只會發(fā)生在通過var定義的變量和function上。
以上所述是小編給大家介紹的js作用域和作用域鏈及預(yù)解析詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
BootStrap selectpicker后臺動態(tài)綁定數(shù)據(jù)
這篇文章主要介紹了BootStrap selectpicker后臺動態(tài)綁定數(shù)據(jù)的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-06-06基于mouseout和mouseover等類似事件的冒泡問題解決方法
這篇文章主要介紹了關(guān)于mouseout和mouseover等類似事件的冒泡問題解決方法。需要的朋友可以過來參考下,希望對大家有所幫助2013-11-11Bootstrap的fileinput插件實現(xiàn)多文件上傳的方法
這篇文章主要介紹了Bootstrap的fileinput插件實現(xiàn)多文件上傳的方法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-09-09javascript instanceof 內(nèi)部機(jī)制探析
在 JavaScript 中,可以用 instanceof 來判斷一個對象是不是某個類或其子類的實例。2010-10-10