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

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

 

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

相關文章
相關標籤/搜索