国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

JavaScript中ES6規(guī)范中l(wèi)et和const的用法和區(qū)別

瀏覽:3日期:2023-06-18 13:44:19

ES6—— let 和 const 命令

引言

本文主要講解ES6中變量的相關(guān)操作,變量的命名, 講解 var、 let 、 const 三者的區(qū)別

正文

ES6中的 let 和 const 都是用來(lái)聲明變量的, 他們與 var 有所區(qū)別

let 命令

我們都知道在for循環(huán)中,我們命名的變量 i 一般都只是為了在這個(gè)循環(huán)中使用,才臨時(shí)命名的, 我們希望循環(huán)結(jié)束后,這個(gè)變量就消失, 但是卻相反,用 var 命名的變量,在 for 循環(huán)結(jié)束后并不會(huì)銷(xiāo)毀,而會(huì)存在于全局中。

for(var i=0; i<5; i++) {console.log(’循環(huán)’+ i)}console.log(i)

/* 輸出結(jié)果 */循環(huán)1循環(huán)2循環(huán)3循環(huán)45 // 這里是循環(huán)外輸出的i

但是如果我們?cè)?for 循環(huán)中,用到 let 去命名變量會(huì)怎么樣呢?

for(let i=0; i<5; i++) {console.log(’循環(huán)’+ i)}console.log(i)

/* 輸出結(jié)果 */循環(huán)1循環(huán)2循環(huán)3循環(huán)4undefined // 這里是循環(huán)外輸出的i,顯示未定義

這樣的話就解決了因?yàn)?var 命名導(dǎo)致的變量泄露的問(wèn)題了, 其實(shí)它的本質(zhì)就是作用域, let 只作用于他自身所在的代碼塊內(nèi),而 var 是針對(duì)全局都有效的。例如這一個(gè)簡(jiǎn)單的例子:

{let i = 1var n = 2}console.log(i)console.log(n)

/* 輸出結(jié)果 */undefined2

可以看到, let 命名的變量只存在于那個(gè)代碼塊內(nèi),到外部就訪問(wèn)不到了,而 var 就是針對(duì)全局命名的。

const 命令

const 和 let 類(lèi)似,也是命名的變量只能在它所在的代碼塊內(nèi)能被訪問(wèn)得到,到外部就無(wú)法被訪問(wèn)到,但是 const 與 let 的區(qū)別就在于, const 命名的變量是一個(gè)只讀變量,簡(jiǎn)而言之就是命名了就無(wú)法在后面被修改,例如這個(gè)例子:

const a = ’apple’let b = ’orange’a = ’watermelon’b = ’banana’

/* 輸出結(jié)果 */a = ’watermelon’ ^

顯而易見(jiàn), 系統(tǒng)會(huì)直接報(bào)錯(cuò), 因?yàn)?const 命名的變量 a 是無(wú)法改變的, 后續(xù)無(wú)法對(duì)其進(jìn)行賦值。

其實(shí) const 命名變量以后, 也不是說(shuō)就真的無(wú)法改變了, 因?yàn)閏onst命名時(shí)其實(shí)是把箭頭指向了內(nèi)存中的一個(gè)對(duì)象, 只要不改變這個(gè)對(duì)象地址, const 命名的變量還是可以變化的,例如:

const list1 = []list1.push(’變化1’)console.log(list1)// [’變化1’]

可以看到 list1.pish(’ 變化1 ’) 不會(huì)改變 變量 list1在內(nèi)存中的地址。

但是 list1 = [ ’變化1’ ] 就會(huì)改變 list1 在內(nèi)存中的地址,所以會(huì)報(bào)錯(cuò)

const list1 = []list1 = [’變化1’]console.log(list1)// 報(bào)錯(cuò):list1 = [’變化1’] ^結(jié)束語(yǔ)

這就是 let 和 const 的簡(jiǎn)單應(yīng)用,希望對(duì)大家有所幫助, 下一篇ES6(2)將講解變量的解構(gòu)賦值

到此這篇關(guān)于JavaScript中ES6規(guī)范中l(wèi)et和const的用法和區(qū)別的文章就介紹到這了,更多相關(guān)JavaScript中l(wèi)et和const用法區(qū)別內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: JavaScript
相關(guān)文章:
主站蜘蛛池模板: 开阳县| 滨州市| 赞皇县| 枞阳县| 平阴县| 皮山县| 古田县| 洪江市| 集安市| 丹凤县| 分宜县| 阳原县| 呈贡县| 柳林县| 邓州市| 即墨市| 梁平县| 来安县| 宿迁市| 贺州市| 马龙县| 彰化市| 波密县| 台安县| 静海县| 济南市| 社会| 无为县| 商城县| 祁阳县| 盐山县| 青铜峡市| 平利县| 长汀县| 南昌市| 常熟市| 安阳市| 繁峙县| 江津市| 海晏县| 福安市|