Javascript 随机数,如果,否则如果

Javascript 随机数,如果,否则如果,javascript,Javascript,我正在编写如下JavaScript代码: function rollTrigger() { var roll = Math.round(Math.random()*999999999+1); var result = document.getElementById("result"); if (roll <= 50900000) { result.innerHTML = "Category 0"; BoLPamount += 1; document.getElem

我正在编写如下JavaScript代码:

function rollTrigger() {
var roll = Math.round(Math.random()*999999999+1);
var result = document.getElementById("result");

if (roll <= 50900000) {
    result.innerHTML = "Category 0";
    BoLPamount += 1;
    document.getElementById("boxlesserprizes").innerHTML = "Box of Lesser Prizes " + BoLPamount; 
    log.innerHTML += "<br />Trigger - win = true; Category 0"; //LOG        
} else if (roll <= 900000) {
    result.innerHTML = "Category A";
    log.innerHTML += "<br />Trigger - win = true; Category A"; //LOG
} else if (roll <= 360000) {
    result.innerHTML = "Category B";
    log.innerHTML += "<br />Trigger - win = true; Category B"; //LOG
} else if (roll <= 211890) {
    result.innerHTML = "Category C";
    log.innerHTML += "<br />Trigger - win = true; Category C"; //LOG
} else if (roll <= 109020) {
    result.innerHTML = "Category D";
    log.innerHTML += "<br />Trigger - win = true; Category D"; //LOG
} else if (roll <= 56505) {
    result.innerHTML = "Category E";
    log.innerHTML += "<br />Trigger - win = true; Category E"; //LOG
} else if (roll <= 34888) {
    result.innerHTML = "Category F";
    log.innerHTML += "<br />Trigger - win = true; Category F"; //LOG
} else if (roll <= 15574) {
    result.innerHTML = "Category G";
    log.innerHTML += "<br />Trigger - win = true; Category G"; //LOG
} else {
    result.innerHTML = "MEH";
    log.innerHTML += "<br />Trigger - win = false"; //LOG
};
document.getElementById("roll").innerHTML = roll;
函数rollTrigger(){
var roll=Math.round(Math.random()*9999999+1);
var result=document.getElementById(“结果”);

如果(滚动因为数字为10,它将进入自if(10 900000&&roll
if)以来的第一个条件(滚动你必须对
if
测试进行排序,以便它们的顺序正确。如果它们都使用
,这将有助于解决这一问题,以及类似的问题:为
滚动
取一个值,比如说
10
,然后在你读代码时在你的头脑中逐行执行代码。会发生什么?
if(roll > 900000 && roll <= 50900000)
 if (roll <= 15574) 
 {
    result.innerHTML = "Category F";
    log.innerHTML += "<br />Trigger - win = true; Category F"; //LOG
 }
 else if (roll <= 34888) 
   {
     ...
var rollTests = [
    {value: 15574, resultHTML: "Category G", logHTML: "<br />Trigger - win = true", logHTML: "Category G"},
    {value: 34888, resultHTML: "Category F", logHTML: "<br />Trigger - win = true", logHTML: "Category F"},
    // the rest of the values here ordered by the comparison value ....
];

for (var i = 0, len = rollTests.length; i < len; i++) {
    if (roll <= rollTests[i].value) {
        result.innerHTML = rollTests[i].resultHTML;
        log.innerHTML = rollTests[i].logHTML;
        break;
    }
}
var rollTests = [
    {value: 15574, category: "G"},
    {value: 34888, category: "F"},
    // the rest of the values here ordered by the comparison value ....
];

var logHTML;    
for (var i = 0, len = rollTests.length; i < len; i++) {
    if (roll <= rollTests[i].value) {
        logHTML = "Category " + rollTests[i].category;
        log.innerHTML = logHTML;
        result.innerHTML = "<br />Trigger - win = true; " + logHTML;
        break;
    }
}