溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

js中作用域和作用域鏈及預(yù)解析的示例分析

發(fā)布時(shí)間:2021-08-07 10:00:05 來源:億速云 閱讀:107 作者:小新 欄目:web開發(fā)

小編給大家分享一下js中作用域和作用域鏈及預(yù)解析的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

變量---->局部變量和全局變量,

作用域:在某個(gè)空間范圍內(nèi),可以對數(shù)據(jù)進(jìn)行讀寫操作

局部作用域和全局作用域

js中沒有塊級作用域—一對括號中定義的變量,這個(gè)變量可以在大括號外面使用
函數(shù)中定義的變量是局部變量
作用域鏈:變量的使用,從里向外,層層的搜索,搜索到了就可以直接使用了
層層搜索,搜索到0級作用域的時(shí)候,如果還是沒有找到這個(gè)變量,結(jié)果就是報(bào)錯(cuò)

在 JavaScript 中, 對象和函數(shù)同樣也是變量。

在 JavaScript 中, 作用域?yàn)榭稍L問變量,對象,函數(shù)的集合。

JavaScript 函數(shù)作用域: 作用域在函數(shù)內(nèi)修改。

JavaScript 局部作用域

變量在函數(shù)內(nèi)聲明,變量為局部作用域。

局部變量:只能在函數(shù)內(nèi)部訪問。

因?yàn)榫植孔兞恐蛔饔糜诤瘮?shù)內(nèi),所以不同的函數(shù)可以使用相同名稱的變量。

局部變量在函數(shù)開始執(zhí)行時(shí)創(chuàng)建,函數(shù)執(zhí)行完后局部變量會(huì)自動(dòng)銷毀。

JavaScript 全局變量

變量在函數(shù)外定義,即為全局變量。

全局變量有 全局作用域: 網(wǎng)頁中所有腳本和函數(shù)均可使用。 

如果變量在函數(shù)內(nèi)沒有聲明(沒有使用 var 關(guān)鍵字),該變量為全局變量。

JavaScript 變量生命周期

JavaScript 變量生命周期在它聲明時(shí)初始化。

局部變量在函數(shù)執(zhí)行完畢后銷毀。

函數(shù)參數(shù)

函數(shù)參數(shù)只在函數(shù)內(nèi)起作用,是局部變量。

HTML 中的全局變量

在 HTML 中, 全局變量是 window 對象: 所有數(shù)據(jù)變量都屬于 window 對象。

作用域鏈:從子集作用域返回到父集作用域的過程

局部有能力去改外面(全局)的值

預(yù)解析:

預(yù)解析:在當(dāng)前作用域下,js運(yùn)行之前,會(huì)把帶有var和function關(guān)鍵字的事先聲明,并在內(nèi)存中安排好。然后再從上到下執(zhí)行js語句。

預(yù)解析只會(huì)發(fā)生在通過var定義的變量和function上。

以上是“js中作用域和作用域鏈及預(yù)解析的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

js
AI