1.关于 JavaScript中的 Array.prototype.slice.call( )
function test(){ var _args=Array.prototype.slice.call(arguments); console.log(args); } test(1,3); //[1,3]
此函数可以将 类数组转换为真正的数组。 前提是此对象有length属性。(IE下 Dom节点不可转)
先来说一个有趣的分享。
var a_arr=[1,2,3];
a_arr.get=function(){return 0};
由于 a_arr是一个附带get方法的一个数组。大家不用觉得奇怪,数组是对象,这么加个get方法没有毛病。Array.prototype.slice.call(a_arr) // ==>> [1,2,3] 输出变成这样。
说明slice过程会仅仅保留数组部分,不会保留其他杂项。 于是上述灰色代码部分的例子就可以理解了。