由[].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()引发的思考的主要内容,如果未能解决你的问题,请参考以下文章

由爬虫引发的思考

一则由表单提交引发的思考

由SecureCRT引发的思考和学习

由一个emoji引发的思考

由case 和 break 引发的思考

由C# dynamic是否装箱引发的思考