gpt4 book ai didi

JavaScript block 作用域与函数

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

以下片段是否完全相等?如果不是,尊重是什么?

var x = (function() {
... //a
return function(){
... //b
};
})();

对比

var x;
{
... //a
x = function(){
... //b
};
}

最佳答案

有一个主要区别:在 JavaScript 中, block 不会引入新的变量范围。因此,不能在//a代码块中定义私有(private)变量。比较

var x = (function() {
var v = 42;
return function(){
return v;
};
})();
// v; would yield ReferenceError: v is not defined, so you need to call x

var x;
{
var v = 42;
x = function(){
return v;
};
}
// v is 42 here, that's not what's intended.

关于JavaScript block 作用域与函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5841389/

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