在此 JavaScript 代码中为 null
null in this code of 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
。我想当我使用调用foreach
时,如果我错过了context
参数,它会用null
替换它?callback.call(context || null, this[i], i, this)
会执行吗?有人可以为我解释一下吗?
它实际上不应该在那里。 undefined
和 null
在传递给 Function.prototype.call
this
参数时具有相同的效果(函数的 this
参数设置为 undefined
(。
如果为
"context"传递一个错误的值,(context || null)
将导致 null。JS会将null作为第一个参数传递给callback.call()
。第一个参数是回调函数的this
。
相关文章:
- 从桌面读取python文件时高亮显示代码
- 数组在递归方法中设置为null
- 如何将函数包装在函数中以避免代码重复
- 通过单击表单中的按钮,在代码生成中使用javascript生成字母数字代码
- php代码在textbox更改事件上显示null
- 未捕获的类型错误:无法读取 null 的属性“选项” - 某些代码有效
- 我的代码给了我一条错误消息:GetElementById()为null或不是对象
- 若字符串为null,则通过启发式方法无法访问代码,将null赋值给变量
- 解析云代码:“在关系上调用 .query() 时,”无法调用 null 的方法'_toPointer'”
- 为什么我会收到错误:未捕获的类型错误:无法使用此代码读取 null 的属性“top”
- 我得到以下JS代码:无法读取null的属性“客户端宽度”
- 整理代码:检查多个值,如果找到任何值,则返回null
- 在此 JavaScript 代码中为 null
- getElementById在代码中返回null,但在控制台中工作
- 为什么这个extjs代码在extjs4.0.7中返回null
- 按特定代码查找结果为null
- 如何在ext.net中获得Id,代码行返回null (extjs)
- 当代码存在时,JScript函数返回null
- 不能读取属性'style'动态HTML代码中的null
- VS代码错误”;无法将未定义或null转换为对象“”;所有JavaScript文件