gpt4 book ai didi

javascript - Firefox 和 Node.js 之间的解释差异

转载 作者:行者123 更新时间:2023-12-03 06:06:31 26 4
gpt4 key购买 nike

我遇到了 Firefox 和 Node.js 之间的异常。给出以下代码:

'use strict';
const obj = {};
for (let f of ['left', 'right']) {
obj[f] = function() {
return f;
};
}
console.log(obj.left());
console.log(obj.right());

Firefox (48.0) 输出

right
right

而 Node.js (6.4.0) 输出

left
right

两者都运行在 Ubuntu 14.04 上。我无法使用其他 ECMAScript 引擎进行测试。

知道差异的原因是什么,以及哪种实现对于规范来说是正确的吗?

最佳答案

您的 Node 版本在这里是正确的,for 循环中的 let 应该具有 block 作用域。

FF 48 simply doesn't support "for/for-in loop iteration scope"然而,它似乎已在 FF 51 中得到修复。

关于javascript - Firefox 和 Node.js 之间的解释差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39516179/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com