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

ES6?關(guān)鍵字?let?和?ES5?及關(guān)鍵字?var?的區(qū)別解析

 更新時(shí)間:2022年09月05日 16:51:05   作者:Enziandom  
var可以穿透控制語句、條件語句這樣的作用域,導(dǎo)致變量沖突經(jīng)常發(fā)生,這篇文章主要介紹了ES6?關(guān)鍵字?let?和?ES5?及關(guān)鍵字?var?的區(qū)別,需要的朋友可以參考下

var 關(guān)鍵字

在 ES5 及以前,通過var在塊級作用域中聲明的變量,外邊也可以訪問。塊級作用域就是一對{}的作用域;塊級作用域可以是控制語句的作用域,也就是非函數(shù)的作用域。

function f() {
  { var x = 10; }
  console.log(x); // => 10
}

在 for 循環(huán)體中的變量 i,可以被打印出來,假如因?yàn)榇a過多,不知道何時(shí)間變量重命名了,只有運(yùn)行時(shí)才報(bào)錯(cuò)。又因?yàn)橹挥泻瘮?shù)才可以創(chuàng)建一個(gè)塊級作用域,所以,針對于上面出現(xiàn)的問題,就要通過 IIFE 來創(chuàng)建一個(gè)塊級作用域。Ben Alman 將它命名為立即執(zhí)行的函數(shù)表達(dá)式(IIFE)

function iife() {
  (function () {
    for (var i = 10; i > 0; i--) {}
  })();
  console.log(i); // => Uncaught ReferenceError: i is not defined
}

let 關(guān)鍵字

var可以穿透控制語句、條件語句這樣的作用域,導(dǎo)致變量沖突經(jīng)常發(fā)生。所以,ES6 的let就可以很好的解決我們的煩惱,這也是為什么現(xiàn)在推薦使用let來聲明變量,而非var。

function f() {
  for (var i = 10; i > 0; i--) {}
  console.log(i); // => Uncaught ReferenceError: i is not defined
}

補(bǔ)充

如果不給 IIFE 函數(shù)加上分號,啟用格式化代碼之后可能導(dǎo)致兩個(gè) IIFE 函數(shù)連在一起:

(function () {
  // ...
})()(function () {
  // ...
})();

可以通過!void來避免:

!(function () {
  // ...
})()

void (function () {
  // ...
})()

到此這篇關(guān)于ES6 關(guān)鍵字 let 和 ES5 及以前關(guān)鍵字 var 的區(qū)別的文章就介紹到這了,更多相關(guān)ES6 關(guān)鍵字 let 和 ES5內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

亚东县| 睢宁县| 宁晋县| 山阴县| 宁明县| 新邵县| 离岛区| 平和县| 芒康县| 锡林郭勒盟| 来凤县| 成安县| 无棣县| 新巴尔虎右旗| 积石山| 宁远县| 白城市| 崇左市| 岳普湖县| 常山县| 阳朔县| 雷州市| 兴安县| 大英县| 怀来县| 涟水县| 海伦市| 嘉兴市| 南平市| 资溪县| 吉水县| 连云港市| 高安市| 靖江市| 德清县| 潜山县| 农安县| 耿马| 同仁县| 大渡口区| 宜良县|