通常,在JavaScript中,我会看到一个匿名函数,该函数会立即调用,它包含一个构造函数。事情是这样的: (function(){
function Constructor{};
//code and stuff
})();
这似乎是有利的,因为它使一个封闭,这样你就可以保持独立的函数中的变量,在全局范围内(?)。我无法理解的是,我将如何从全局范围内访问此构造函数。例如
为什么下面的代码不提示未定义? function test(param){
var param = param;
alert(param);
}
test("SO"); // alerts SO
这怎么正在被分配给本地变量的参数是与函数的参数相匹配,而不是与局部变量本身? 权值是否具有函数参数的“匹配偏好”或原因是什么?
我需要for循环中的点击函数,因此每个id元素都是可点击的。但是我也需要点击函数中的i,这就是为什么我认为自动执行匿名函数是最好的方法。但由于某种原因,这是行不通的,也许是因为点击功能不允许我转发参数?我做错了什么? for (var i = 0; i < countItems; i++) {
$("#item-" + i).click(function(idx) {
我使用UglifyJs缩小文件一些代码,我有一个问题的性质。如果我有一个自我执行的函数作为对象文字的属性,那么在缩小的时候它会被简化为一个函数。 即 var o = {
c : 1,
t : (function(){
return 'this worked';
}())
};
uglifyjs t.js > u.js
var o={c:1,t:f