今天看到这个用法的时候产生了疑问,slice 方法可以用来将一个类数组(Array-like)对象/集合转换成一个数组。你只需将该方法绑定到这个对象上。mdn上给出了一个例子:function list() { return Array.prototype.slice.call(arguments);}var list1 = list(1, 2, 3); // [1, 2, 3]我的问题是:平时更容易遇到fun.call (null, arguments)这样的用法,因为Function.prototype.call()的用法是fun.call(thisArg[, arg1[, arg2[, ...]]])所以遇到把Array.prototype.slice.call(arguments)这样的把arguments作为在函数运行时指定的this值感觉很别扭,总是想成Array.prototype.slice.call(null, arguments)这样的,又不知道这样为什么不对?除了Array.prototype.slice.call(arguments)这样的用法,那么Array.prototype上其他的方法是不是也可以这样使用呢?比如Array.prototype.splice.call(arguments,1)?
添加回答
举报
0/150
提交
取消