2011-02-02 58 views
6

我想在函數的參數中聲明關聯數組 - 是否有可能?是否可以在函數調用方中聲明關聯數組?

此代碼它不工作..

<a href="javascript:functionName(new Array('cool'=>'Mustang','family'=>'Station'))">click</a> 

該代碼工作 - 它是唯一的出路?

<script> 
    var my_cars= new Array() 
    my_cars["cool"]="Mustang"; 
    my_cars["family"]="Station"; 
</script> 

<a href="javascript:functionName(my_cars)">click</a> 
+1

爲什麼你會喜歡第一種方式?一般沒有或儘可能少javascript應該在你的html – Matt 2011-02-02 15:27:37

回答

20

您正在嘗試在Javascript中使用PHP語法。

您需要使用JavaScript語法來創建一個對象字面:

functionName({ cool: "Mustang", family: "Station" }); 
10

不要使用 「新的Array()」 時,所有你想要的是用字符串作爲屬性名稱的對象:

var my_cars = {}; 
my_cars["cool"]="Mustang"; 
my_cars["family"]="Station"; 

或只是

var my_cars = { 
    cool: 'Mustang', family: 'Station' 
}; 

陣列旨在支持整數索引屬性,並且它們還自動維護整數索引屬性列表的「長度」(以及「概念」長度)。

6

這將工作。

<a href="javascript:functionName({'cool':'Mustang','family':'Station'})">click</a>

在JS Objects are associate arrays

+0

Aravindan R,非常感謝!乾杯 – quardas 2011-02-03 22:58:49

相關問題