第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

ES6的"臨時(shí)性死區(qū)"和“變量提升”

標(biāo)簽:
JavaScript

1.临时性死区

在讲到临时性死区这个概念的时候,我们先来做一个小题目:

<script>
    console.log(color);
    var color = 'yellow';
</script>

请问图上的代码打印出来后结果是什么?

A.referenceError            B.undefined            C.yellow
正确答案是B哦,有没有答对呢~这是为什么呢?原因就是在javascript中存在变量提升这个概念,在javascript中,functions中variables会被提升。变量提升是javascript将声明移至作用域scope(全局域或者当前函数作用域)顶部的行为。所以,以上代码实际运行当中其实是

<script>
    var color;
    console.log(color);
    color = 'yellow';
</script>

由于之前已经声明了变量,所以不会报referenceError ,同时还没来得及给color赋值yellow,所以最后的结果是undefined
        当然啦,如果把var换成let和const会是什么样的结果的?结果就是出现referenceError报错,其实呢在let中也存在变量提升这个概念的,但是在letconst中还存在一个叫做 “临时性死区” 的概念。在这个作用域的开始直到变量的声明之前,这个变量都是处在 “临时性死区” 当中的,这个时候引用他的话会报referenceError的错误,其实这个特征可以帮助我们养成在变量未声明之前不要使用它的好习惯。
        在ES6中选择困难的我应该怎样使用varletconst来声明我的变量呢~目前我采用的是默认使用const,需要重新绑定或者更新的时候就使用let,在ES6中尽量不使用var。如果不想你的变量被修改的话使用const简洁明了,如果你会重新更新这个变量的值那么就使用let,而使用var可能会产生一些重复声明,以及在定义之前使用它不太容易找到的错误,所以尽量使用constlet

點(diǎn)擊查看更多內(nèi)容
2人點(diǎn)贊

若覺得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消