gpt4 book ai didi

javascript - forEach 与 (for,while,if,else..) 变量范围 - JavaScript

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

我是 Java 脚本新手,发现了一种名为“立即函数”的函数。我们为什么使用:

  • 定义函数后立即执行任务
  • 创建新的变量范围

令人困惑的是, for 、 while 、 if else 语句不会创建新的变量作用域,但 forEach 循环会创建新的作用域。这背后有什么具体原因吗?以下是示例:-

var foo = 123;
if (true) {
var foo = 456;// updates the value of global 'foo'
}
console.log(foo); // 456;


let foo2 = 1111111;
var array = new Array(5).fill(5);
array.forEach(function () {
let foo2 = 222//creates new variable
// foo2 = 222//updates global variable
});
console.log('test' + foo2);

最佳答案

创建新作用域的不是 forEach,而是作为其参数的 functionfunction 始终创建自己的 this

关于javascript - forEach 与 (for,while,if,else..) 变量范围 - JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48731677/

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