と名前で関数を呼び出す:避け()私はこの単純なスイッチブロック持っている唯一の動的な文字列
function modifyServiceContractView(schema) {
...
}
function modifyContactView(schema) {
...
}
function addExtraInfoToSchema(defName, schema) {
switch (defName) {
case 'ServiceContractView':
return modifyServiceContractView(schema);
break;
case 'ContactView':
return modifyContactView(schema);
break;
default:
return schema;
}
}
の代わりに、スイッチブロックをハードコーディングし、それだけではなく、このようなものを持っていいだろう。
function modifyServiceContractView(schema) {
...
}
function modifyContactView(schema) {
...
}
function addExtraInfoToSchema(defName, schema) {
return eval('modify' + defName+ '(schema)');
}
eval()を使用しないとこれを行うより良い方法はありますか?
うまくいけば私の質問は明らかです。
はい、あなたの機能を格納するオブジェクトリテラルを使用..あなたは、FUNCを行うことができ、私は方法があることを知っていたおかげで:)(スキーマ)[+ defName「を変更」] – Keith
当たり前lulz –
答えとして追加できます –