gpt4 book ai didi

javascript - 需要一些帮助来理解这个 JavaScript

转载 作者:行者123 更新时间:2023-11-28 12:50:27 25 4
gpt4 key购买 nike

我的 js 文件中有以下看起来很奇怪的代码,我需要一些帮助来理解发生了什么。我困惑的是为什么整个事情都放在括号里?这是什么意思?

(function() {
var someobj = window.someobj = [];
var parentId = '#wrapper';

$(document).ready(function() {
//some code here
});


$(document).ready(function() {
//some code here
}
});

最佳答案

如果您提供的代码是完整的(除了两个 $(document).ready(function() {}); 语句内的内容之外),则此代码不执行任何操作并且该函数永远不会被执行。无论有没有括号,效果都是一样的。

通过将函数括在括号中,您可以创建 anonymous function 。但是,该函数必须立即执行,或存储在变量中(这将否定匿名部分)。您经常会看到这种技术,以避免临时变量或仅用于初始化较大应用程序的变量污染全局范围。例如。

(function() {
// Do initialization shtuff
var someLocalVariable = 'value';
})();
// Notice the `();` here after the closing parenthesis.
// This executes the anonymous function.

// This will cause an error since `someLocalVariable` is not
// available in this scope
console.log(someLocalVariable);

那么,您的代码缺少的是函数末尾的右括号后面的 (); 。您的代码(大概)应如下所示:

(function() {
var someobj = window.someobj = [];
var parentId = '#wrapper';

$(document).ready(function() {
//some code here
});


$(document).ready(function() {
//some code here
});
})();

关于javascript - 需要一些帮助来理解这个 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1658149/

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