2017-12-07 7 views
0

私はJavascriptで新作です。私は順番に番号を記録するスクリプトを書こうとしていますし、最後に最後の数字が偶数か奇数かを私に教えてくれます。Javascriptで余りを確認する

は私が持っていることは次のとおりです。

var i = 0; 

    do { 
    i++; 
    console.log(i) 
    } 

while (i <= 9); 

if(i % 2 = 1) { 
    console.log("odd") 
    } 

else { 
    console.log("even") 
    } 

、それが働いていた/他の場合、私は追加する前に。今私はエラーを取得し続けています:割り当てに左手が無効です

私は間違って何をしていますか?本当に私の無知を表示するには、課題の左側は何ですか?

ありがとうございます!

+1

'=='チェック平等のため – jhpratt

答えて

2

に変更する必要が

2

=の代わりに、ifの条件では、==である必要があります。 =値を割り当てるためのものである

+0

単純な入力ミスがコメントで答えられるべきで、閉鎖のためのフラグを立て。 – jhpratt

1
if(i % 2 == 1) { 
    console.log("odd") 
}else { 
    console.log("even") 
} 

==ためには、等価比較のためのものです。あなたが条件ならばif(i % 2 = 1)
から

if(i % 2 ==1) 
2

それが無効左側言うとき、それはあなたが左側に何かに値を代入しようとしていることを意味します。あなたは、 -

if(i % 2 = 1) 

しかし、=は基本的に左の変数に値を割り当てる代入演算子です。あなたが必要とするのは、2つの値を比較しようとしているので比較演算子である==です。

これはあなたのコードでなければなりません -

if(i % 2 == 1) 
4

まず、あなたは(===)、あなたの残りの部分をチェックし、単一等しい以来(=)ダブル等しい(==)またはトリプル等しいを使用したいと思うでしょう変数に値を代入するために使用されます。 =====

差:==のみ値をチェック一方
========以来チェック値AND型より厳密です。

例:

if(1 == '1') // true 
if(1 === '1') //false : their types are different. 

は、第二に、あなたはおそらく、各番号をログインした後、evenまたはoddの出力を得るためにあなたのdo-whileループの内側にあなたのif文を折り返すことになるでしょう。ここで

が最終的な結果である:

var i = 0; 

do { 
    i++; 
    console.log(i); 
    if(i % 2 === 1) { 
    console.log("odd"); 
    } else { 
    console.log("even"); 
    } 
} while (i <= 9); 
1

だからあなたのコードに問題がされ、あなたが「=」お使いの場合の状態で、代わりに(比較です演算子)「==」を使用する代入演算子を使用しています。

現在JavaScriptで比較です演算子の詳細情報を見つけることができます。 https://www.w3schools.com/js/js_comparisons.asp

関連する問題