我在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/