最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

簡(jiǎn)述ES6新增關(guān)鍵字let與var的區(qū)別

 更新時(shí)間:2019年08月23日 13:47:38   作者:Big哈勃  
最近看了很多文章,偶然間看到ES6中新增了一個(gè)關(guān)鍵字 let ,它具有與 var 關(guān)鍵字相似的功能。接下來(lái)通過(guò)本文給大家介紹ES6新增關(guān)鍵字let與var的區(qū)別,需要的朋友可以參考下

最近看了很多文章,偶然間看到ES6中新增了一個(gè)關(guān)鍵字 let ,它具有與 var 關(guān)鍵字相似的功能。一開始使用它時(shí),發(fā)現(xiàn)它讓我對(duì)之前一些習(xí)以為常的東西產(chǎn)生了懷疑。

下面先讓我們看看它和 var 之間用法的不同

 {
   var a = 10;
   let b = 8;
 }
  a //10 
  b // Referenceerror :b is not defined

上面在代碼塊中聲明了兩個(gè)變量并分別賦值輸出到控制臺(tái),結(jié)果a的變量成功輸出,b的輸出結(jié)果產(chǎn)生了報(bào)錯(cuò)??梢?,let聲明的變量只在它所在的代碼塊中產(chǎn)生作用。同時(shí),我們也能想到它最好的使用方法就是在for循環(huán)中使用。

下面我們?cè)倥e個(gè)例子來(lái)觀察它與 var 之間的區(qū)別:

 var a = [ ]
  for(var i = 0;i<6; i++){
    a[i] = function(){
      console.log(i);
    }
  }
  console.log("i的值:",i);
  a[ 4 ]( );

  它的輸出結(jié)果為:

    i 的值:6

    6

  為什么是 6 呢?一開始我也被嚇懵逼了,這有悖于我的常識(shí),以往沒注意到的地方,居然這么的low。在我的意識(shí)里結(jié)果應(yīng)該 4,而不是 6 。我想了很久也想不明白,以我這種小白的技術(shù),自然是很難搞懂這種資深技術(shù)宅的問(wèn)題。所以,我查了很多資料來(lái)解決這個(gè)問(wèn)題,才搞明白。

  在for里用 var 聲明的 i 是全局變量,在循環(huán)外部也可以訪問(wèn)到,在循環(huán)體內(nèi)每次循環(huán)都給 i 重新賦一次值,而 i 卻是屬于全局的,外部的 i 值最終是 6 ,數(shù)組 a[ ]指向的 i 始終都是同一個(gè) i,當(dāng)循環(huán)結(jié)束時(shí) a [ ] 函數(shù)內(nèi)部的 i 就是最終 i 的結(jié)果  6。

  如果使用let,聲明的變量只在當(dāng)前代碼塊中起作用

  var a = [ ]
  for(let i = 0;i<6; i++){
    a[i] = function(){
      console.log(i);
    }
  }
  console.log("i的值:",i);
  a[ 4 ]( );

 它的輸出結(jié)果為:

     i 的值:6
    5

  上面代碼中,變量i是let聲明的,當(dāng)前的i只在本輪循環(huán)有效,所以每一次循環(huán)的i其實(shí)都是一個(gè)新的變量,所以最后輸出的是5。你可能會(huì)問(wèn),如果每一輪循環(huán)的變量i都是重新聲明的,那它怎么知道上一輪循環(huán)的值,從而計(jì)算出本輪循環(huán)的值?這是因?yàn)?JavaScript 引擎內(nèi)部會(huì)記住上一輪循環(huán)的值,初始化本輪的變量i時(shí),就在上一輪循環(huán)的基礎(chǔ)上進(jìn)行計(jì)算。

總結(jié)

以上所述是小編給大家介紹的ES6新增關(guān)鍵字let與var的區(qū)別,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!

相關(guān)文章

最新評(píng)論

凉城县| 胶州市| 凤庆县| 遂昌县| 开鲁县| 孙吴县| 寿光市| 永丰县| 天津市| 稷山县| 玉屏| 松阳县| 孟州市| 青海省| 寻乌县| 黑龙江省| 安庆市| 手机| 普陀区| 长寿区| 翁牛特旗| 建瓯市| 罗田县| 茌平县| 贵港市| 梨树县| 石嘴山市| 嘉峪关市| 那坡县| 友谊县| 凯里市| 南城县| 华阴市| 浦北县| 西城区| 凉山| 老河口市| 扎赉特旗| 揭西县| 禄丰县| 广灵县|