javascript
  • if-statement
  • operators
  • 2017-11-11 5 views -2 likes 
    -2

    PHPで優れたスキルを持つ方なら、このコードを修正するのに役立ちますか? levelは10PHPで良いif/else-if構造体を書くには

    var level = m.level; 
    
    if(level < 10) 
    { 
        level = '<span class="levelco">' + level + '</span>'; 
    } 
    
    else if(level >= 10) 
    { 
        level = '<span class="levelco10">' + level + '</span>'; 
    }   
    
    else if(level >= 30) 
    { 
        level = '<span class="levelco30">' + level + '</span>'; 
    }    
    
    else if(level >= 50) 
    { 
        level = '<span class="levelco50">' + level + '</span>'; 
    } 
    
    else if(level >= 80) 
    { 
        level = '<span class="levelco80">' + level + '</span>'; 
    } 
    
    +0

    あなたの問題は何ですか? – saw303

    +0

    @ saw303問題は明らかです。 'level'の値が50であれば、レベル10だけです。 –

    答えて

    0

    一つの方法は次のようになりますされています

    var level = m.level; 
    var levelclass = 'levelco'; 
    
    if(level >= 10) levelclass = 'levelco10'; 
    if(level >= 30) levelclass = 'levelco30'; 
    if(level >= 50) levelclass = 'levelco50'; 
    if(level >= 80) levelclass = 'levelco80'; 
    
    level = '<span class="' + levelclass + '">' + level + '</span>'; 
    

    それを逆にしてelse ifを使用して、それがよりになり条件が満たされると実行が停止するので効率的です。

    if(level >= 80) levelclass = 'levelco80'; 
    else if(level >= 50) levelclass = 'levelco50'; 
    else if(level >= 30) levelclass = 'levelco30'; 
    else if(level >= 10) levelclass = 'levelco10'; 
    
    +0

    ありがとうございます!私はこのコミュニティが大好き –

    2

    あなたはまた、上位レベルを与え、また、elseifを使用する必要がありますより大きいということであれば、私はそれがelse if(level >= 10)でスタックしている問題を抱えているPHPの場合、これは、JavaScriptのようになりますだって:

    var level = m.level; 
    
    if (level < 10) { 
        level = '<span class="levelco">' + level + '</span>'; 
    } else if (level >= 10 && level < 30) { 
        level = '<span class="levelco10">' + level + '</span>'; 
    } else if (level >= 30 && level < 50) { 
        level = '<span class="levelco30">' + level + '</span>'; 
    } else if (level >= 50 && level < 80) { 
        level = '<span class="levelco50">' + level + '</span>'; 
    } else if (level >= 80) { 
        level = '<span class="levelco80">' + level + '</span>'; 
    } 
    

    それが不可能な場合は、条件リバース:この問題を解決するための

    var level = m.level; 
    
    if (level < 10) { 
        level = '<span class="levelco">' + level + '</span>'; 
    } else if (level >= 80) { 
        level = '<span class="levelco80">' + level + '</span>'; 
    } else if (level >= 50) { 
        level = '<span class="levelco50">' + level + '</span>'; 
    } else if (level >= 30) { 
        level = '<span class="levelco30">' + level + '</span>'; 
    } else if (level >= 10) { 
        level = '<span class="levelco10">' + level + '</span>'; 
    } 
    
    2

    2つの方法が、すべてのOをキャプチャする場合は、それは基本的にダウン秒までですf次の条件(レベル> = 10は、以下のすべての条件に一致します)。

    解決策1は条件を変更するだけです。

    level = m.level; 
    
    
    if(level < 10) 
    { 
        level = '<span class="levelco">' + level + '</span>'; 
    } 
    else if(level >= 80) 
    { 
        level = '<span class="levelco80">' + level + '</span>'; 
    } 
    else if(level >= 50) 
    { 
        level = '<span class="levelco50">' + level + '</span>'; 
    } 
    else if(level >= 30) 
    { 
        level = '<span class="levelco30">' + level + '</span>'; 
    }  
    else if(level >= 10) 
    { 
        level = '<span class="levelco10">' + level + '</span>'; 
    }   
    

    オプション2があれば、それぞれに制限を置くために...これを行うには

    level = m.level; 
    
    
    if(level < 10) 
    { 
        level = '<span class="levelco">' + level + '</span>'; 
    } 
    
    else if(level >= 10 && level <30) 
    { 
        level = '<span class="levelco10">' + level + '</span>'; 
    }   
    
    else if(level >= 30 && level < 50) 
    { 
        level = '<span class="levelco30">' + level + '</span>'; 
    }    
    
    else if(level >= 50 && level < 80) 
    { 
        level = '<span class="levelco50">' + level + '</span>'; 
    } 
    
    else if(level >= 80) 
    { 
        level = '<span class="levelco80">' + level + '</span>'; 
    } 
    
    関連する問題