用于减少咖啡因含量的循环

时间:2014-03-29 16:19:25

标签: javascript jquery

我想知道如何用javascript写这个。这个想法是它花费时间和咖啡因含量,使用循环每小时减少直到它达到20毫克然后停止并告诉你什么时间你达到半衰期(5小时)然后你的睡前时间20毫克

此刻我的循环功能甚至没有。我试图围绕如何调整for循环。我会加入咖啡因或小时数值吗?

这就是我所拥有的:

function brew() {
    var lastTime = 15; // military time for 3pm
    var lastCoffee = 150; // 150mg of caffeine 

    for (var i = 1; lastCoffee <= 20; i++) {
        var caffeine = lastCoffee/2; // my bootleg half life equation    
    };
}

1 个答案:

答案 0 :(得分:1)

使用while循环执行此操作会更容易。

我为每个涉及的值使用了一个特定变量,包括常量;这使得事情变得更容易阅读(也是一个很好的实践)。

function brew() {

    // input values

    var lastTime = 15;        //military time for 3pm
    var lastCoffee = 150;     // 150mg of caffeine

    // constant

    var caffeineHalfLife = 5; // 5 hours  
    ver bedTimeCaffeine = 20; // 20mg of caffeine

    // variables

    var caffeine;
    var bedTime;

    // setup

    caffeine = lastCoffee;
    bedTime  = lastTime;

    // loop

    while( caffeine > bedTimeCaffeine ) {  // go on until caffeine > bedTimeCaffeine
        caffeine /= 2;                     // the caffeine value become half...
        bedTime += caffeineHalfLife;       // ...every 5 hours (caffeineHalfLife)
    }

}

但是如果你想坚持for,那么最后一部分就会变成

    // setup

    caffeine = lastCoffee;

    // loop

    for( bedTime = lastTime; caffeine > bedTimeCaffeine; bedTime += caffeineHalfLife ) {
        caffeine /= 2;
    }

有关for循环

的说明,请参阅http://www.w3schools.com/js/js_loop_for.asp