JavaScript中的apply函数
我正在学习JavaScript,目前我正试图找出原因(在中) 返回预期的JavaScript中的apply函数,javascript,function,apply,spidermonkey,Javascript,Function,Apply,Spidermonkey,我正在学习JavaScript,目前我正试图找出原因(在中) 返回预期的[1,2],但 Array.concat.apply([1], [[2]]) 返回[2]而不是[1,2] 有人能提供一个很好的解释吗?[].concat是Array.prototype.concat Array.concat是Firefox特有的静态方法,它连接一个或多个数组并忽略其此参数。什么是Array.prototype.concat.apply([1],[2]])返回的?您正在使用哪个浏览器Array.concat
[1,2]
,但
Array.concat.apply([1], [[2]])
返回[2]
而不是[1,2]
有人能提供一个很好的解释吗?
[].concat
是Array.prototype.concat
Array.concat
是Firefox特有的静态方法,它连接一个或多个数组并忽略其此
参数。什么是Array.prototype.concat.apply([1],[2]])
返回的?您正在使用哪个浏览器Array.concat
在Chrome中不存在。Firefox在数组原型上有一个“concat()”(但在数组构造函数对象上没有)。奇怪的是,它允许您运行第二条语句,它应该是==>(新数组)。concat.apply([1],[2]])
Array.concat
函数concat(){[native code]}
这一定是答案,但奇怪的是,MDN没有记录该方法:-)首选哪种样式,[].concat
或Array.prototype.concat
?@eljenso:[]
更短,但它会创建一个额外的数组实例。Array.prototype
更长但更快。您可以选择。
Array.concat.apply([1], [[2]])