溫馨提示×

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

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

javascript中b包指的是什么

發(fā)布時(shí)間:2021-06-28 11:10:34 來(lái)源:億速云 閱讀:385 作者:小新 欄目:web開發(fā)

這篇文章主要為大家展示了“javascript中b包指的是什么”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“javascript中b包指的是什么”這篇文章吧。

javascript b包是指閉包,而閉包是Javascript中比較重要的一個(gè)概念,是一種保護(hù)私有變量的機(jī)制,在函數(shù)執(zhí)行時(shí)形成私有的作用域,保護(hù)里面的私有變量不受外界干擾。

本文操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦。

javascript b包是什么?

JavaScript 閉包

JavaScript 變量可以是局部變量或全局變量。

私有變量可以用到閉包。

全局變量

函數(shù)可以訪問由函數(shù)內(nèi)部定義的變量,如:

實(shí)例

function myFunction() {
    var a = 4;
    return a * a;
}

函數(shù)也可以訪問函數(shù)外部定義的變量,如:

實(shí)例

var a = 4;
function myFunction() {
    return a * a;
}

后面一個(gè)實(shí)例中, a 是一個(gè) 全局 變量。

在web頁(yè)面中全局變量屬于 window 對(duì)象。

全局變量可應(yīng)用于頁(yè)面上的所有腳本。

在第一個(gè)實(shí)例中, a 是一個(gè) 局部 變量。

局部變量只能用于定義它函數(shù)內(nèi)部。對(duì)于其他的函數(shù)或腳本代碼是不可用的。

全局和局部變量即便名稱相同,它們也是兩個(gè)不同的變量。修改其中一個(gè),不會(huì)影響另一個(gè)的值。

Note 變量聲明時(shí)如果不使用 var 關(guān)鍵字,那么它就是一個(gè)全局變量,即便它在函數(shù)內(nèi)定義。

JavaScript 閉包

還記得函數(shù)自我調(diào)用嗎?該函數(shù)會(huì)做什么?

實(shí)例

var add = (function () {
    var counter = 0;
    return function () {return counter += 1;}
})();
 
add();
add();
add();
 
// 計(jì)數(shù)器為 3

實(shí)例解析

變量 add 指定了函數(shù)自我調(diào)用的返回字值。

自我調(diào)用函數(shù)只執(zhí)行一次。設(shè)置計(jì)數(shù)器為 0。并返回函數(shù)表達(dá)式。

add變量可以作為一個(gè)函數(shù)使用。非常棒的部分是它可以訪問函數(shù)上一層作用域的計(jì)數(shù)器。

這個(gè)叫作 JavaScript 閉包。它使得函數(shù)擁有私有變量變成可能。

計(jì)數(shù)器受匿名函數(shù)的作用域保護(hù),只能通過 add 方法修改。

Note

閉包是一種保護(hù)私有變量的機(jī)制,在函數(shù)執(zhí)行時(shí)形成私有的作用域,保護(hù)里面的私有變量不受外界干擾。

直觀的說(shuō)就是形成一個(gè)不銷毀的棧環(huán)境。

以上是“javascript中b包指的是什么”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

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

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

AI