javascript - 以两种不同的方式调用函数 - JavaScript

标签 javascript function anonymous-function

我是 JavaScript 的新手,所以如果这个答案非常明显或者我找错了树,我深表歉意!

以下代码片段有什么区别:

function primeAddNum(innerHTML) {
    return function() {
        addNum(innerHTML);
        return false;
    };
}
var func = primeAddNum(innerHTML);

第二个:

var func = function() {
        return function() {
            addNum(innerHTML);
            return false;
        };
}();

顶部的按我希望的方式工作,但底部的不是,但这对我来说并不过分重要。我想知道的是每个 block 背后的逻辑,因为我看不出有什么不同!

最佳答案

第二个 block 的问题是 innerHTML 在那里未定义,因为您没有传递它。如果您将其更改为:

var func = function(innerHTML) {
    return function() {
        addNum(innerHTML);
        return false;
    };
}(innerHTML);

关于javascript - 以两种不同的方式调用函数 - JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13708743/

相关文章:

javascript - 判断点是否在形状内部

javascript - Canvas - DrawImage 方法

javascript - 如何让事件监听器在javascript中最后执行

c - 通过引用传入二维数组

python - 给定奇数或偶数条件,如何对列表中的偶数或奇数求和?

c# - 在 C# 中将匿名方法/函数作为参数传递

javascript - 编写 Angular 指令时应该将通用代码放在哪里?

函数返回后不改变指针

php - 如何在不使用 create_function 的情况下重写示例?

javascript - 用命名函数替换匿名函数(在 jQuery 中)