gpt4 book ai didi

Javascript - 为什么调用闭包内定义的函数?

转载 作者:行者123 更新时间:2023-11-28 16:18:44 30 4
gpt4 key购买 nike

我见过许多 js 框架(包括 jquery)在其主函数范围内使用闭包。例如,

var obj = (function(){
return {
test : function(){
alert('test');
}
}
})();
obj.test()

jquery 源, http://code.jquery.com/jquery-1.7.2.js

“函数”周围需要额外的“闭包”吗?或者如果我们像这样使用它有什么区别,

var obj = function(){
return {
test : function(){
alert('test');
}
}
}();
obj.test()

两者具有相同的行为和函数定义本身将所有局部变量放入新的作用域中...那么为什么需要额外的闭包呢?

最佳答案

它添加了“大”对象\库函数,而不是将它们添加到全局对象中。

您粘贴的两个选项就像之间的区别:

var foo = (2);
var foo = 2;

没有区别...

<小时/>

更新:

现在我明白了你的问题,括号不会在 JavaScript 中创建新的作用域,而只会创建函数。

关于Javascript - 为什么调用闭包内定义的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10530514/

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