由[].slice.call()引發的思考


經常看到大家用[].slice.call()或者Array.prototype.slice.call();  我一直是一知半解的,今天算是基本弄清楚了,在此記錄一下。

可能最常見的是Array.prototype.slice.call(arguments)  就是截取(更重要的是獲取,slice是得到子數組)函數的參數,然后讓arguments等“偽數組”也可以使用數組的各種方法。

 

這種寫法看上去很是牛逼,然而,一查才發現,ES6已經優雅的實現,畢竟功能更加的強大:他就是Array.from();

let p = document.querySelectorAll('p');

  Array.from(p).forEach(function(i){

  alert(i);

});

 

 

不單單可以轉化arguments,元素集合,還可以轉化類數組對象,總之很6.

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM