常常看到你们用[].slice.call()或者Array.prototype.slice.call(); 我一直是只知其一;不知其二的,今天算是基本弄清楚了,在此记录一下。html
可能最多见的是Array.prototype.slice.call(arguments) 就是截取(更重要的是获取,slice是获得子数组)函数的参数,而后让arguments等“伪数组”也能够使用数组的各类方法。数组
这种写法看上去非常牛逼,然而,一查才发现,ES6已经优雅的实现,毕竟功能更加的强大:他就是Array.from();函数
let p = document.querySelectorAll('p');post
Array.from(p).forEach(function(i){url
alert(i);spa
});prototype
不仅仅能够转化arguments,元素集合,还能够转化类数组对象。htm
https://www.cnblogs.com/simao/p/7716711.html对象