小编var*_*kor的帖子

时间死区,让for-loop

我们可以letfor循环中使用语句,具有多个变量赋值,例如:

for (let x = 0, y = 0; x < 10; ++ x);
Run Code Online (Sandbox Code Playgroud)

但是,如果我们从另一个变量中引用一个变量,我们就会开始在实现中出现差异; 以下结果导致Chrome中的工作代码,但Firefox中的ReferenceError:

for (let x = 0, y = x; x < 10; ++ x);
Run Code Online (Sandbox Code Playgroud)

在整个表达式被解析之后,Firefox似乎不会分配xyunder,而Chrome会立即执行.请注意,以下内容适用于两种浏览器(for块外的相同语句):

let x = 0, y = x; // x = 0, y = 0
Run Code Online (Sandbox Code Playgroud)

似乎Firefox的实现是不正确的(特别是考虑到for块外的情况),但ES6规范对此有何看法?这是否需要(或已经)报告过?

javascript firefox google-chrome ecmascript-6

7
推荐指数
1
解决办法
77
查看次数

标签 统计

ecmascript-6 ×1

firefox ×1

google-chrome ×1

javascript ×1