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

var與ES6規(guī)范中l(wèi)et、const區(qū)別是什么

這篇文章主要介紹了var與ES6規(guī)范中l(wèi)et、const區(qū)別是什么,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

在婺城等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都做網(wǎng)站、成都網(wǎng)站建設(shè) 網(wǎng)站設(shè)計(jì)制作按需網(wǎng)站制作,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站建設(shè),成都全網(wǎng)營(yíng)銷,外貿(mào)網(wǎng)站制作,婺城網(wǎng)站建設(shè)費(fèi)用合理。

Js沒有塊級(jí)作用域

請(qǐng)看這樣一條規(guī)則:在JS函數(shù)中的var聲明,其作用域是函數(shù)體的全部。

  for(var i=0;i<10;i++){
     var a = 'a';
  }
  console.log(a);

明明已經(jīng)跳出 for 循環(huán)了,卻還可以訪問到 for 循環(huán)內(nèi)定義的變量 a ,甚至連 i 都可以被放訪問到,尷尬~

2.** 循環(huán)內(nèi)變量過度共享 **

你可以猜一下當(dāng)執(zhí)行以下這段代碼時(shí)會(huì)發(fā)生什么

for (var i = 0; i < 3; i++) {
   setTimeout(function () {
    console.log(i)
   }, 1000);
 }

在瀏覽器里運(yùn)行一下,看看和你預(yù)想的結(jié)果是否相同?

沒錯(cuò),控制臺(tái)輸出了3個(gè)3,而不是預(yù)想的 0、1、2。

事實(shí)上,這個(gè)問題的答案是,循環(huán)本身及三次 timeout 回調(diào)均共享唯一的變量 ** i 。當(dāng)循環(huán)結(jié)束執(zhí)行時(shí),i 的值為3。所以當(dāng)?shù)谝粋€(gè) timeout 執(zhí)行時(shí),調(diào)用的 i 當(dāng)讓也為 3 了。

話說到這兒,想必客官已經(jīng)猜到 let 是干嘛用的。

你沒猜錯(cuò),就是解決這兩個(gè)bug的。你盡可以把上述的兩個(gè)例子中的 var 替代成 let 再運(yùn)行一次。

注意:必須聲明 'use strict' 后才能使用let聲明變量,否則瀏覽并不能顯示結(jié)果

let是更完美的var

let聲明的變量擁有塊級(jí)作用域。 也就是說用let聲明的變量的作用域只是外層塊,而不是整個(gè)外層函數(shù)。let 聲明仍然保留了提升特性,但不會(huì)盲目提升,在示例一中,通過將var替換為let可以快速修復(fù)問題,如果你處處使用let進(jìn)行聲明,就不會(huì)遇到類似的bug。

let聲明的全局變量不是全局對(duì)象的屬性。這就意味著,你不可以通過window.變量名的方式訪問這些變量。它們只存在于一個(gè)不可見的塊的作用域中,這個(gè)塊理論上是Web頁(yè)面中運(yùn)行的所有JS代碼的外層塊。

形如for (let x...)的循環(huán)在每次迭代時(shí)都為x創(chuàng)建新的綁定。

這是一個(gè)非常微妙的區(qū)別,拿示例二來說,如果一個(gè)for (let...)循環(huán)執(zhí)行多次并且循環(huán)保持了一個(gè)閉包,那么每個(gè)閉包將捕捉一個(gè)循環(huán)變量的不同值作為副本,而不是所有閉包都捕捉循環(huán)變量的同一個(gè)值。

所以示例二中,也以通過將var替換為let修復(fù)bug。

這種情況適用于現(xiàn)有的三種循環(huán)方式:for-of、for-in、以及傳統(tǒng)的用分號(hào)分隔的類C循環(huán)。

用let重定義變量會(huì)拋出一個(gè)語(yǔ)法錯(cuò)誤(SyntaxError)。

這個(gè)很好理解,用代碼說話

let a = 'a';
let a = 'b';

上述寫法是不允許的,瀏覽器會(huì)報(bào)錯(cuò),因?yàn)橹貜?fù)定義了。

** 在這些不同之外,let和var幾乎很相似了。舉個(gè)例子,它們都支持使用逗號(hào)分隔聲明多重變量,它們也都支持解構(gòu)特性。 **

ES6引入的第三個(gè)聲明類關(guān)鍵詞:const

一句話說明白,const 就是用來定義常量的!任何腦洞(fei)大(zhu)開(liu)的寫法都是非法的

比如這樣:

//只聲明變量不賦值
const a
這樣:
//重復(fù)聲明變量
const a = 'a';
const a = 'b';

還有這樣:

//給變量重新賦值
const a = 'a';
a = 'b'

再來個(gè)黑科技:

//不過不推薦這么干,實(shí)在沒啥意思,常量常量,不變的才叫常量嘛~
const a = {a:'a'};
//重新賦值當(dāng)然是行不通的了
a = {a:'b'};
//嘿嘿嘿科技
a.a = 'b'

const 確實(shí)沒啥說的,普通用戶使用完全沒問題,高(dou)端(bi)用戶咋用都是問題。

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“var與ES6規(guī)范中l(wèi)et、const區(qū)別是什么”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來學(xué)習(xí)!

分享名稱:var與ES6規(guī)范中l(wèi)et、const區(qū)別是什么
本文URL:http://aaarwkj.com/article10/pjdjgo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動(dòng)態(tài)網(wǎng)站、網(wǎng)站營(yíng)銷、虛擬主機(jī)、網(wǎng)站制作、電子商務(wù)、面包屑導(dǎo)航

廣告

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

手機(jī)網(wǎng)站建設(shè)
国产黄色一区二区三区,| 国产成人精品手机在线观看| 国产女人高潮流白丝视频| 国产欧美日本一区二区| 人人狠狠综合久久亚洲| 美女诱惑丝袜国产国产av丝袜| 国产亚洲av一区二区三区| 亚洲精品成人福利网站| 亚洲精品中文字幕日本乱码| 国产一区日本二区欧美三区| 人妻熟女一区二区aⅴ在线视频| 九九热在线免费观看精品视频 | 国产av一级二级三级最新精品| 高清区一区二区在线播放 | 国产国产成年年人免费看片| 亚洲欧美日韩国产一区二区三区| 亚洲国产精品一区二区三| 欧美日韩精品偷拍一区二区| 日韩免费的黄色片网站| 国产尹人99大香蕉| 国产黄片一区二区不卡| 日韩专区欧美二区国产| 国产日本欧美一区二区三区| 国产中文精品字幕a区| 十八禁网站免费在线播放| 2020中文字字幕在线不卡| 国产免费成人午夜免费视频| 青青草原影院在线观看| 亚洲成色在线综合剧情网站 | 91桃色网站在线免费观看| 十八禁真人无摭挡观看| 成人在线午夜你懂的视频| 国产精品久久护士96| 国产毛片一区二区三区二区| 亚洲国产成人一区二区精品区| 日韩精品毛片精品一区到三区| 国产黄色一区二区三区| 在线高清中文字幕三区| 日本少妇熟女一区二区| 亚洲综合色视频在线播放| 欧美黄色一区二区三区视频|