我注意到一些奇怪的東西。我一直認爲new Array()
與{}
相同,但它看起來不同,因爲{}
似乎只是一種對象類型,而new Array()
是Chrome調試器中的陣列。Javascript數組和jQuery.param
所以我一直在使用$.param(data)
,其中數據是來自$.ajax()
調用的數據。我注意到,當我在數據內部有一個params1 = new Array()
和一個params2 = {}
時,它們以不同的方式出現。
params1成爲
params1[]=1¶ms1[]=2
和params2成爲
params2[0]=1¶ms2[1]=2.
的問題是,我一直在使用.param(data, false)
,因爲我注意到,params1[]
正在連載錯誤,但是.param(data, false)
失敗的params2
,給我params2=[object+Object]
。
我想我可以通過使用.param(數據)和剝離「[]」來解決這個問題,這樣無論它使用{}
還是new Array
進行初始化,它都能正常工作。但我想知道是否有更好的解決方案(總是使用{}
vs new Array
)。
'[]'是創建新JavaScript數組的簡寫,而不是'{}'。正如你已經看到的,'{}'創建一個空對象。 – j08691 2012-08-08 20:03:14
[在JavaScript中使用{}或new Object()創建空對象的可能的重複?](http://stackoverflow.com/questions/251402/create-an-empty-object-in-javascript-with-or-新的對象) – DCoder 2012-08-09 19:17:08