function destroyer(arr) {
var arr1 = Array.prototype.slice.call(arr);
return arr1;
}
destroyer([1, 2, 3, 1, 2, 3], 20, 30);
现在返回的是[1, 2, 3, 1, 2, 3]这个数组。
问题1:应该怎样修改函数(不修改输入值)能让函数返回[[1, 2, 3, 1, 2, 3], 20, 30]这样的数组?
问题2:Array.prototype.slice.call(),这个方法该怎么理解,怎么用?
问题一:
问题二:
根据 es 标准写的,数组的大部分方法被定义为通用的,也就是可以被类数组对象等调用。
Array.prototype.slice.call
就相当于在arguments
这个类数组对象上调用数组的slice
方法