gpt4 book ai didi

javascript - Javascript 中的范围问题

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:20:14 25 4
gpt4 key购买 nike

我需要一些关于 Javascript 范围问题的信息。我知道它支持词法(静态)作用域,但是它不也支持动态作用域吗?如果您对 Javascript 中的作用域有任何了解,能否请您与我分享?

谢谢

最佳答案

我认为您感到困惑,因为 Javascript 使用静态作用域,但在函数级别,而不是像通常的结构化语言那样在 block 级别。

var foo = "old";
if (true) {var foo = "new";}
alert (foo == "new")

所以要小心, block 不会产生作用域!这就是为什么您有时会看到内部带有函数的循环只是为了启用范围在迭代内的变量:

functions = [];
for(var i=0; i<10; i++) {
(function(){
var local_i = i;
functions[local_i] = function() {return local_i;}
})();
}
functions[2]() // returns 2 and not 10

关于javascript - Javascript 中的范围问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/327454/

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