gpt4 book ai didi

javascript匿名函数语法

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

下面两个block有什么区别?

// block 1
{
console.log("anonymous block");
}

// block 2
(function anon() {
console.log("anonymous block 2");
})();

我在 Netbeans 中运行了这个(使用 node.js 插件),它们似乎都可以工作......

最佳答案

区别在于您可以使用后一种形式隐藏全局变量而不破坏它们。

例如,假设您正在使用 jQuery 库,它默认将其主 namespace 别名为 $。如果你想将 $ 用于不同的目的而不改变 $ 的正常使用方式,你可以这样做:

(function($) {
// Use $ without clashing with the jQuery object.
})(someObject);

事实上,它还有一个用途。由于 undefined 不是 JavaScript 中的保留字,它可以被赋予一个值并失去它的用途。因此,您可以简单地不将值传递给 undefined 参数,并且您知道它会正常运行而不会与全局值发生冲突。

undefined = "some not-undefined value";    // you'd have to be an idiot to do this but I've seen it done
(function(a, b, undefined) {
console.log(typeof(undefined) === "undefined"); // true
})(someA, someB);

关于javascript匿名函数语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12325136/

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