容易遗忘的Javascript点

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过程会仅仅保留数组部分,不会保留其他杂项。 于是上述灰色代码部分的例子就可以理解了。

猜你喜欢

转载自www.cnblogs.com/liuliu-hai/p/12399050.html