2016-10-16 9 views
0

私は毎日の仕事の一部を強化するためにJavaScriptを学んでいるので、基本を学んでいます。私は文法でまだかなり緑色ですが、言語をかなり素早く取り上げています。終了条件の評価

私が理解しようとしているのは、関数を評価している終了条件を作成する方法です。 コーディングがここで間違っていることはわかっています。これは私が修正しようとしていることです - 私はさまざまなことを試みましたが、私の製品に基づいてループを評価することに問題があります。私は "反復"を使用して各反復の値を格納しようとしましたが、すべての試みでスクリプトのフラットアウトが失敗しました。

私がスクリプトにしたいのは、製品が< = 100に達したときにループを止めることです。 問題は、私の研究ではループ基準が変数を参照するだけであることが示唆されています。私は終端条件として結果の "製品"を見る方法の面で立ち往生しています。

var one = 5; 
var two = 10; 
var end = 100; 

function mult (one, two){ 
var product = one * two; 
document.writeln(product + "<br>"); 
} 

for (var i = 1; i <= end; i++) 
mult(i, two); 

答えて

0

あなたは製品が<= 100あるとき、あなたのループはあなたが行を書きたいかどうかを決定するif文を使用し、終了します。

変数名をわかりやすくするために変更しました。

/*var one = 5;*/ /*This is never being used*/ 
 
var ten = 10; 
 
var end = 100; 
 

 
function mult (a, b){ 
 
    var product = a * b; 
 
    if (product <= 100){ 
 
    document.writeln(product + "<br>"); 
 
    } 
 
} 
 

 
for (var i = 1; i <= end; i++){ 
 
    mult(i, ten); 
 
}

+0

これは私が探していたものとまったく同じ結果でした。私はvar iを置き換えるためにiを5に初期化しました。 –

0

"ループ基準は、私だけでは、変数を参照することができます。"それは偽です!

for loopに複数の条件を定義することができます。

ループ実行後に 'product'変数にアクセスするには、mult()関数の外部スコープで宣言できます。または、mult()関数を書き換えて製品変数を返すことができます。

このよう

:「製品」は100の値に達すると、ループ条件がまだ真であるので、あなたは、補助変数の前の値を格納する必要があり、この条件を使用することにより

var two = 10; 
    var end = 100; 
    var someNumberGtThan100 = 100000; 
    var lastProduct = 0; 
    var product = 0; 

    function mult (one, two) { 
    lastProduct = product; 
    product = one * two; 
    document.writeln(product + "<br>"); 
    } 

    for (var i = 1; i <= someNumberGtThan100 && product <= 100; i++) { 
    mult(i, two); 
    } 

    console.log(lastProduct); // 100 

ので、ループ一度だけ実行されます。

+0

入力に感謝します - 私の本の初期の章にまだあるので、最初の応答は私のスピードにはるかにあります! –

関連する問題