2013-12-23 41 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