所以这段代码完美运行
var arr = [1, 2, 3, 4];
arr.forEach(function (el) {
console.log(el);
})
但如果我尝试这样做:
function printArgsInfo() {
arguments.forEach(function (el) {
console.log(el);
});
}
printArgsInfo(2, 3, 2.5, -110.5564, false);
arguments .forEach
不是函数
即使 arguments
是一个数组,如果我尝试使用 for in
循环来执行此操作,它仍然有效。
原文由 Все Едно 发布,翻译遵循 CC BY-SA 4.0 许可协议
arguments
是一个类似数组的对象,但不是数组:将返回
Object
对于arguments
和Array
对于空数组[]
ES6 及更新版本
对于 ES6,您可以使用 剩余参数
...
,正如 torazaburo 所建议的那样。ES5 及更早版本
For ES5 and older, you could borrow the method from
Array#forEach
andcall
it withargument
asthisArg
.