連想配列

JavaScriptPerlのハッシュに当たるものを使いたい場合はどうするんだろうって思ってたんだけどオブジェクトを使えるようです。

var obj = {
	eye: 2,
	nose: 1,
	mouse: 1,
	walk: function() {
		return "とぼとぼ";
	}
};

eyeとかnoseとか、左側にあるやつはオブジェクトのプロパティになって、

obj.eye;
obj.nose;

とかで参照できるんだけど、こうやって参照することも可能。

obj['eye'];
obj['nose'];

これでプログラム中で動的にプロパティを参照できる。
で、これってプロパティの値が関数の場合はどうなるのか。

obj.walk();
obj['walk']();

二つとも同じ結果です。
二つ目の方はカッコがないと関数本体が文字列で帰ってくるようです。