要求:自己写一个函数,实现数组的push方法的功能。
我们知道,数组是通过new Array()创建的,原型上面已经有了push方法,现在我们要自己再写一个,实现同样的功能。那么我们可以通过修改原型上push方法,改成我们自己的代码:
Array.prototype.push = function () { //在定义函数的时候,可以不写参数,通过arguments来获取实参列表 for (var i = 0; i < arguments.length; i++) { this[this.length] = arguments[i]; } return this.length; } arr.push(4, 5, 6); console.log(arr); // [1, 2, 3, 4, 5, 6]
上例中用到了arguments,因为push方法的参数有可能不止一个,所以在定义函数的时候没有写形参,直接通过arguments调用实参进行处理。
网友评论comments