这个while循环如何工作?

时间:2017-02-21 01:28:26

标签: javascript loops

有人可以解释一下这个循环是如何工作的吗?我很难理解它何时运行if语句以及何时循环回到while。

// keep buying phones while you still have money
while (amount < bank_balance) {
    // buy a new phone!
    amount = amount + PHONE_PRICE;

    // can we afford the accessory?
    if (amount < SPENDING_THRESHOLD) {
        amount = amount + ACCESSORY_PRICE;
    }
}

另外,为什么没有带有if?

的else组件仍然有效

1 个答案:

答案 0 :(得分:1)

您的问题告诉我,您自己并未完全理解ifwhile,并且一起使用它们会让您感到困惑。

if并不总是需要else,如果条件为true则执行,如果为false则不执行任何操作。

if(){ //if true doA() and if false, skip it
    doA();
}


if(){//if true doA() and if false, doB()
    doA();
}else{
    doB();
}

简单示例

int count = 10;

while(count != 0){
    count = count - 1;

    if(count == 8){
        count = 0;
    }
}

过程:

on while check 10 != 0;
count is now 10 - 1
on if check if 9 == 8 // FALSE doesnt do anything

loop back up to while

on while check 9 != 0;
count is now 9 - 1
on if check if 8 == 8 // TRUE do execute
count is now 0

loop back up to while

on while check 0 != 0; // FALSE
OUT OF WHILE AND FINISH

希望这有帮助