lang
1//オブジェクトを定義 2var listeners = {}; 3//関数を定義 4var a = function () { 5 alert('a'); 6}; 7 8//関数をキーにして、別の関数を代入 9listeners[a] = function () { 10 a(); 11}; 12 13//両方の関数を実行 14a(); 15listeners[a]();
上記のように、ある関数に別の関数(無名関数)を関連付けるためオブジェクトを使うことを考えました。
オブジェクトのキーに関数を指定する、という方法は我ながら信じられないのですが、
上記のコードはGoogle Chrome、Firefox、Internet Explorer 11とそのエミュレーション、IETesterでも動作します。
このようなコードはECMAScriptの仕様で許されているのでしょうか?
また、古いIE6などでも動作しますか?
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2014/12/25 14:35