为了账号安全,请及时绑定邮箱和手机立即绑定

js call apply的使用

js call apply的使用

温温酱 2018-09-02 08:52:25
在js中正在学习call与apply,call有一个实际应用就是把类数组转换成数组。我有一个疑问,为什么要去call数组Array原型上的slice方法,我看了下slice的api,我想问下为什么要用Array.prototype上的这个方法呢? function fun(){    var argArr = Array.prototype.slice.call(arguments);     debugger  } fun(1,3,5,9)再补问一个问题,[].slice.call(arguments) 与 Array.prototype.slice.call(arguments)结果一样的原理是什么呢?
查看完整描述

1 回答

?
心有法竹

TA贡献1866条经验 获得超5个赞

因为arguments只是一个类数组,不是数组,所以不存在slice方法,而它的目的是用slice返回一个新数组。

而对于补充问题,首先[]自身没有slice,因此往原型链上找slice,然后他又是个Array,所以就找到Array.prototype.slice这两句话是一毛一样的。


查看完整回答
反对 回复 2018-09-02
  • 1 回答
  • 0 关注
  • 633 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信