为什么是a.push.apply(a,b)而不是a.push.apply(b);

A_LVv 2018-04-21 09:05:37
我是这样想的
apply 把数组变成参数
然后push把它加在数组a 后面
我哪理解错了????
...全文
1007 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
天际的海浪 2018-04-21
  • 打赏
  • 举报
回复
apply的作用有两个,第一个作用是替换push操作的对象,第二个作用才是数组变成push参数 apply的第一个参数是用来替换的操作对象,第二个参数是要变成push参数的数组 a.push.apply(a,b)中push方法操作的对象是()中的a,前面的a只是起到访问push方法的作用。 你改成 [].push.apply(a,b) 或者 Array.prototype.push.apply(a,b) 也可以。 如果你写成 a.push.apply(b) apply的第一个参数,用来替换的操作对象就是b了。 等于是执行 b.push()

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧