我们在使用 arguments 的时候 出现 arguments is not defined
- 其原因常见的是因为没有注意 es6 箭头函数 没有this 和 arguments
Array.prototype._push = (...value) => {
for (let i = 0; i < arguments.length ; i++) {
this[this.length] = arguments[i]
return this.length
}
}
如以上代码就会报错
- 因为arguments 是依存于Function 中的, 所以正确的写法应该是如下:
Array.prototype._push = function (...value) {
for (let i = 0; i < arguments.length ; i++) {
this[this.length] = arguments[i]
return this.length
}
}