7 个回答

第一个是把一个参数转化为数组后把后面的数字都拼上去
第二个是一个数组

第一种有点脱裤子放屁的感觉啊,想不出什么场景下会用到这种方式。最关键它还用错了,第一个参数应该传空数组[],后面才是元素

第一个相当于[1].concat(2,3,4,5)

我的理解是Array.prototype.concat.call(1,2,3,4,5);在基类上调用concat方法,但是基类是没有方法的,所以先通过基类的包装类将数字转化成对象再调用concat方法,所以返回[Number, 2, 3, 4, 5],第一个元素是Number对象。[].concat(1,2,3,4,5)的就是在一个空数组上调用concat方法,就是简单地把各个参数拼接在数组后面,返回拼接后的数组副本。'12345'.split('')的话就是对字符串进行分割,返回的是字符串数组。

第一种输出的数组,第一个元素就不会单纯的数字1clipboard.png

Chrome和Firefox 是Number对像
但Safari不一样 ,各位可以试试

求解

可以输出一下 看一下两者有什么不同就可以了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题