2013-12-23 21 views
0

ATT,下面的工具有什么区别吗?
1.下面的js代码有什么区别?

var a = []; 
f = function(){ 
    a = [].concat(a,[].slice.call(arguments)); 
} 

2.

var a = []; 
f = function(){ 
    a = Array.prototype.concat(a,[].slice.call(arguments)); 
} 
+0

你会期待什么区别? – Philipp

+1

'[] .concat === Array.prototype.concat' – megawac

+0

没有区别。 – Praveen

回答

2

没有比隐式或显式调用Array.prototype.concat其他没有什么区别。

目前还不清楚你想要完成什么,但功能f可以简化如下。

var a = []; 

var f = function() { 
    a = a.concat([].slice.call(arguments)); 
} 

你可以找到更多信息有关Array.prototype.concathere。此外,this问题有很好的原型功能讨论。

+0

谢谢@奥斯汀,我在一个名为[豆瓣](http://douban.com)的中国着名网站上找到了第二种方式,我是想知道他们为什么用这种方式而不是一种更简单的方式。 – YuC