2016-12-09 11 views
0
Menu.prototype.iconMapping = function (_setroot){ 
    var case_root = _setroot; 
    switch(case_root){ 
    case "type1": 
     // function(); 
    break; 
    case "type2": 
    // function(); 
    break; 
    case "type3": 
    // function(); 
    break; 
    case "type4": 
    // function(); 
    break; 
    case "type5": 
    // function(); 
    break; 
    } 
} 

JSデザインパターンを使用してこれを行うより良い方法はありますか?私はswitch/caseを聞いているので、多くの問題があります。あなたは私にいくつかの助言を与えたり、実際にどうやってやるべきかを教えてもらえますか?私は戦略パターンがこれにふさわしいかもしれないと聞いていますが、どこから始めるべきかわかりません。戦略パターンへのスイッチケース

+0

それは主にあなたがやろうとしているので...それだけでスイッチが本当に多くを提供していないかに依存します。 –

+1

* "スイッチのケースに問題があると聞きました" *例えば? –

+0

Evan Trimboli、クラス名を検出して、case_root = type 5の場合のように、一部のCSSを変更するために使用して、自分の背景色を変更しました。 –

答えて

1

一つの解決策は次のようになります。

var funcs = 
{ 
    'type1': function() { alert('one' ); }, 
    'type2': function() { alert('two' ); }, 
    'type3': function() { alert('three'); } 
}; 

case_root = 'type2'; //demo 
funcs.hasOwnProperty(case_root) && funcs[case_root](); 
関連する問題