由[].slice.call()引发的思考
Posted 前端乐园
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了由[].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.
以上是关于由[].slice.call()引发的思考的主要内容,如果未能解决你的问题,请参考以下文章