javascript - 这段 javascript 代码中为 null 吗?

标签 javascript

    Array.prototype.forEach = function(callback, context) {
        for (var i = 0; i < this.length; i++) {
            callback.call(context || null, this[i], i, this);
        }
    };

    ["a", "b", "c"].forEach(function(value, index, array) {
        assert(value,
                "Is in position " + index + " out of " +
                        (array.length - 1));
    });

我不完全理解为什么这里使用null。我想当我使用invoke foreach时,如果我错过了context参数,它会用null替换它? callback.call(context || null, this[i], i, this) 会执行吗?有人可以帮我解释一下吗?

最佳答案

它实际上不应该在那里。当作为 this 参数传递给 Function.prototype.call (函数的 code>this 参数设置为 undefined)。

关于javascript - 这段 javascript 代码中为 null 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18093605/

相关文章:

c# - 如何将复杂对象从 jquery 传递到标记 <a> 中的 Action Controller

javascript - 警告 : Location "/test/22" did not match any routes

javascript - 用于添加类宽度的 js 代码不起作用

javascript - mxGraph 将 JSON 数据转换为图形

javascript - 用razor添加js代码

javascript - 我的 HTML 文件如何将 JavaScript 结果传递回调用它的 Python 脚本?

JavaScript:如何通过变量名检查变量是否存在?

javascript - 为什么 PHP strlen() 和 Javascript xxx.length 不相等?

javascript - 无法从 Angular 应用程序获取 NodeJS 中的 POST 数据

javascript - ng-if 内的 Angular js