在javascript中使用var关键字创建块范围变量

时间:2016-05-04 05:42:21

标签: javascript ecmascript-6 ecma

我想使用 var 关键字在javascript中创建一个块范围变量。
我不想使用 let 关键字创建。因为它不支持所有浏览器 有没有办法通过一些最佳和通用的方式实现这一目标?

  

usecase:我想在for循环中使用它,这样每次迭代都会创建一个新的范围。

1 个答案:

答案 0 :(得分:1)

使用IIFE创建一个“块”,如下所示:

(function () {
  var x = "whatever";
  // x is scoped to only within this "block"
  // block code
})()

用于for循环以保持范围:

for (var i = 0; i < l; i++) {
  (function (i) {
    var x = "whatever";
    // x is scoped to only within this "block"
    // block code
  })(i)
}