さまざまな状況に応じて、いくつかの機能を選択的に実行する必要があります。私はこのような基本的なオブジェクトを持っています:
object = {
whatever : {
objects : null
},
something : {
objects : // some object
}
};
オブジェクトの値を反復処理する必要があります。そうである場合objects
はnot null
、特定の関数を実行する必要があります。whatever.objects
nullでない場合は、を実行する必要がありますwhateverFunction();
。something.objects
nullでない場合は、を実行する必要がありますsomethingFunction();
。
for( i in object )
{
if ( object[i].objects )
// run a certain function
}
オブジェクトの値に基づいてこれらの人工的に名前が付けられた関数を実行するための最良の方法は何ですか?「実行する関数」の名前をオブジェクトとeval()
それに格納することはできますが、評価を避けたいと思います。
それぞれが実行される独自の関数を持つクラスオブジェクトを作成する方が理にかなっていますか?もしそうなら、これをどのように行うのでしょうか?