是否可以在函数调用者中声明关联数组?

时间:2011-02-02 15:22:26

标签: javascript arrays

我想在函数的参数中声明关联数组 - 是否可能?

这段代码不起作用..

<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>

3 个答案:

答案 0 :(得分:20)

您正尝试在Javascript中使用PHP语法。

您需要使用Javascript语法来创建对象文字:

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

答案 1 :(得分:10)

当你想要的只是一个字符串作为属性名称的对象时,不要使用“new Array()”:

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

或只是

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

数组旨在支持整数索引属性,并且它们还自动维护整数索引属性列表的“长度”(嗯,“概念”长度)。

答案 2 :(得分:6)

这样可行。

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

在JS Objects are associate arrays