我对JavaScript很陌生,所以如果这个答案非常明显或我正在咆哮错误的树,我很抱歉!
以下代码段中的区别是什么:
function primeAddNum(innerHTML) {
return function() {
addNum(innerHTML);
return false;
};
}
var func = primeAddNum(innerHTML);
第二个:
var func = function() {
return function() {
addNum(innerHTML);
return false;
};
}();
最上面的一个按照我喜欢的方式工作,但不是底部,但这对我来说并不是那么重要。我想知道的是每个块背后的逻辑,因为我看不出差异!
答案 0 :(得分:2)
第二个块的问题是那里innerHTML
未定义,因为你没有传递它。如果将其更改为:
var func = function(innerHTML) {
return function() {
addNum(innerHTML);
return false;
};
}(innerHTML);
答案 1 :(得分:1)
对于第二个,您只能创建一次func
。但是对于第一个,您可以创建许多:
var func1 = primeAddNum(innerHTML);
var func2 = primeAddNum(someOtherInnerHTML);
答案 2 :(得分:-1)
没有区别,你可以毫无问题地使用它们