请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

Array.prototype.slice.call(divs) 是如何把类数组转换成数组的,能不能讲讲原理?

我只知道改变this指向,但是具体原理是什么呢?另外mdn上面也只是列出了个例子。但是没有具体的原理讲解

正在回答 回答被采纳积分+3

3回答

THEEND0123 2020-11-20 14:27:07

我的理解是,call改变this指向,致使Array.prototype.slice执行类数组,就成了类数组.prototype.slice,且call函数执行会使slice立刻执行,即类数组.prototype.slice() 执行,slice返回新的数组!

0 回复 有任何疑惑可以回复我~
THEEND0123 2020-11-20 14:23:41

没几个能把这个分析清楚的

0 回复 有任何疑惑可以回复我~
谢成 2020-06-04 09:15:01

slice方法的返回值是返回一个新的数组,就是说他的返回值是个数组。

0 回复 有任何疑惑可以回复我~
  • 我的理解是,call改变this指向,致使Array.prototype.slice执行类数组,就成了类数组.prototype.slice,且call函数执行会使slice立刻执行,即类数组.prototype.slice() 执行,slice返回新的数组!
    回复 有任何疑惑可以回复我~ 2020-11-20 14:27:03
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信