常常看到你們用[].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對象