由[].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对象

相关文章
相关标签/搜索