2011-02-02 6 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

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

あなたは最初の方法を好む、なぜ?一般的には、ほとんどまたは可能な限りJavaScriptはあなたのhtmlにあるべきです – Matt

答えて

20

JavascriptでPHP構文を使用しようとしています。

あなたは、オブジェクトリテラルを作成するにはJavascriptの構文を使用する必要があります。

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

あなたが望むすべてのプロパティ名などの文字列を持つオブジェクトであるとき、 "新しい配列を()" を使用しないでください:

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

か、単に

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

配列はすることを意図しています整数索引付きのプロパティーをサポートし、整数型索引付きプロパティーのリストの長さも自動的に保持します(「概念的な長さ」)。

関連する問題