欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

ECMAScript6.0中l(wèi)et和const命令的使用方法-創(chuàng)新互聯(lián)

1. 使用let命令取代var命令

在ES6之前的版本中,使用var聲明變量,在ES6中新增了let來聲明變量。let完全可以取代var,因?yàn)槎叩恼Z義相同,而且let沒有“副作用”。

創(chuàng)新互聯(lián)建站專業(yè)為企業(yè)提供德江網(wǎng)站建設(shè)、德江做網(wǎng)站、德江網(wǎng)站設(shè)計(jì)、德江網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、德江企業(yè)網(wǎng)站模板建站服務(wù),10余年德江做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

我們先來看一下let命令有哪些特點(diǎn):

  1. 不存在變量提升:變量只有在聲明之后才能使用;
  2. 不允許重復(fù)聲明:在相同的作用域下,一個(gè)變量名只能使用一次,不能重復(fù)聲明;
  3. 具有塊級作用域:在代碼塊中聲明的變量,只對當(dāng)前代碼塊和其內(nèi)部嵌套代碼塊有效,如果嵌套代碼塊中聲明了同名變量時(shí),則對該嵌套代碼塊無效;
  4. 存在暫時(shí)性死區(qū):當(dāng)全局變量與代碼塊中變量同名時(shí),代碼塊中的變量就有了塊級作用域,其變量聲明前不能使用。

JavaScript是弱類型的編程語言,在ES6之前使用var關(guān)鍵字聲明變量,會發(fā)生變量提升的現(xiàn)象。簡單來說,就是在聲明變量之前就對該變量進(jìn)行調(diào)用,程序不會報(bào)錯(cuò),而且打印出來的值為undefined。如果是有Java或C++編程經(jīng)驗(yàn)的小伙伴,肯定對這種現(xiàn)象是無法忍受的。我們用一段代碼來演示一下這種現(xiàn)象:

function test(){
   console.log(i);
   var i = 1;
}
test();

運(yùn)行結(jié)果:

undefined

上面代碼中,變量i是使用var命令聲明的,我們在變量聲明之前在控制臺打印i,雖然此時(shí)變量i還沒有聲明,但是該變量已經(jīng)存在了,只不過是沒有值,所以會輸出undefined。

如果是同樣的代碼,把var替換成let來聲明,其他代碼不變,程序運(yùn)行后的結(jié)果為:

ECMAScript 6.0中l(wèi)et和const命令的使用方法

當(dāng)變量使用let聲明時(shí),不會發(fā)生變量提升,這就說明在變量聲明之前,變量i是不存在的,要打印一個(gè)不存在的變量,就會拋出上面的錯(cuò)誤。

在ES5 中有兩個(gè)作用域,分別是全局作用域和函數(shù)作用域,到了ES6就新增了一個(gè)塊級作用域。如果沒有塊級作用域的話,在處理業(yè)務(wù)場景時(shí)會帶來很多不便,比如內(nèi)層變量覆蓋外層變量,再或者是使用for循環(huán)時(shí),循環(huán)中迭代的變量泄露為全局變量等等。

ES6中的let命令為JavaScript新增了塊級作用域,我們看下面的代碼:

function test() {
   let i = 1;
   if(true){
     let i = 2;
   }
   console.log(i);
}
test();

運(yùn)行結(jié)果為:

1

test()函數(shù)代碼塊中,對變量i做了兩次聲明,按照var命令聲明變量的邏輯,結(jié)果應(yīng)該是2,但是使用let命令聲明的變量,在該變量的代碼塊中,不受內(nèi)層代碼塊的影響。無論有多少層級的代碼塊,其每一層都有一個(gè)單獨(dú)的作用域。在內(nèi)層作用域中可以定義外層作用域的同名變量,但變量的值不受外層作用域變量的影響。

如果理解了let命令的塊級作用域的話,那么再來理解暫時(shí)性死區(qū),就輕松多了。我們對上面那段代碼稍加改造,演示暫時(shí)性死區(qū):

function test() {
   let i = 1;
   if(true){
     console.log(i);
     let i = 2;
   }
   console.log(i);
}
test();

運(yùn)行結(jié)果為:

ECMAScript 6.0中l(wèi)et和const命令的使用方法

由于各層級代碼塊都有自己單獨(dú)的作用域,內(nèi)層作用域不受外層的影響,所以當(dāng)我們在if()語句中再次聲明變量i時(shí),該作用域下的變量是獨(dú)立存在的,在未聲明之前就調(diào)用該變量,就會出現(xiàn)我們前面說過的“變量提升”的概念,let命令是不存在變量提升的,所以就會拋出上面這種錯(cuò)誤。

2. 使用const命令聲明常量

const命令的用法和let類似,使用const命令聲明的是一個(gè)只讀常量,一旦聲明,常量的值就不能改變。const聲明的變量值不能改變,這就意味著,變量一旦聲明后,就必須馬上給其賦初始化值。

但是在letconst之間,我建議優(yōu)先使用constconst相比let而言,有幾個(gè)優(yōu)點(diǎn):

一是const從語義上就表示常量,那就可以提醒協(xié)同開發(fā)的其他人員,這個(gè)變量的值不能被修改,防止誤操作修改變量的值導(dǎo)致程序出錯(cuò);

二是const比較符合函數(shù)式的編程思想,運(yùn)算不改變值,只是新建值;

三是JavaScript編譯器會對const進(jìn)行優(yōu)化,如果const使用頻率比較高的話,有利于提高程序的運(yùn)行效率,這取決于letconst在底層編譯器內(nèi)部的處理差異。

如果從長遠(yuǎn)的角度看,JavaScript有可能會實(shí)現(xiàn)多線程編程,考慮到線程安全,let命令聲明的變量只能在單線程中使用,不能用于多線程的數(shù)據(jù)共享。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

分享名稱:ECMAScript6.0中l(wèi)et和const命令的使用方法-創(chuàng)新互聯(lián)
網(wǎng)站URL:http://aaarwkj.com/article26/dshdjg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)建站公司、網(wǎng)站收錄、面包屑導(dǎo)航、網(wǎng)站設(shè)計(jì)、域名注冊

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)
国产夫妻自拍一级黄片| 中文字幕在线感觉av| 亚洲一区二区日本乱码| 男男啪啪猛进猛出无遮挡| 激情综合色综合久久丁香| 国产乱码免费一区二区三区| 麻豆文化传媒免费网址| 久久精品人妻麻豆尤物| 亚洲中文字幕在线不卡| 啊啊…嗯嗯…用力免费观看视频| 国产一区二区三区午夜视频| 日韩中文字幕一二三| 午夜视频在线观看麻豆| 精品一区二区人妻乱交| 亚洲欧美日韩专区一区| 最新日本人妻中文字幕| 91精品在线观看第一页| 中文字幕一区二区三区不卡日日| 国产剧情av色诱女教师| 欧美成人精品免费在线| 亚洲男人天堂中文字幕| 精品视频美女肉体亚洲| 日韩国产精品亚洲欧美在线| 欧美av一区二区三区四区| 天天精品国产av九九久久久| 啊啊舒服爽用力爱我视频| 中国美女下面毛茸茸视频| 国产成人综合久久二区| 亚洲一区麻豆文化传媒| 日本老太老熟妇一级特黄| 粉嫩av一男战三女高潮| 亚洲七七久久精品中文国产| 色噜噜狠狠狠久久综合一区 | 手机在线观看av大片| 国产精品一区二区三区欧美| 欧美日韩国产精品一区二区三区| 日本av在线中文一区二区| 成人午夜性色福利视频| 天堂av五月在线观看| 色综合久久天天射天天干| 国产一区黄片视频在线观看|