簡體   English   中英

檢查Javascript中的余數

[英]Checking remainder in Javascript

我是Java語言的超級新手。 我正在嘗試編寫一個按順序記錄數字的腳本,然后最后告訴我最終數字是偶數還是奇數。

我所擁有的是:

var i = 0;

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

 while (i <= 9);

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

 else {
   console.log("even")
    }

在添加if / else之前,它可以工作。 現在我繼續收到錯誤:分配中的左側無效

我究竟做錯了什么? 為了真正顯示我的無知,作業的左側是什么?

謝謝!

首先,在檢查余數時,您將要使用雙精度等於( == )或三重等於( === ),因為單精度等於( = )用於將值分配給變量。

=====之間的區別:
=====更嚴格,因為===檢查值AND類型,而==僅檢查值。

例:

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

其次,您可能希望將if語句包裝在do-while循環內,以便在記錄每個數字后獲得evenodd的輸出。

這是最終結果:

var i = 0;

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

if條件中不是= ,則應為==

您需要更改if條件是否來自if(i % 2 = 1)

if(i % 2 ==1)

當它說無效的左側時,表示您正在嘗試為左側的某物分配一個值。 您已使用-

if(i % 2 = 1) 

但是,=是賦值運算符,它基本上為左側的變量賦值。 您需要的是==這是一個比較運算符,因為您要比較兩個值。

這應該是您的代碼-

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

因為==用於相等比較,而=用於值分配。

因此,您代碼中的問題是,您在if條件中使用了賦值運算符“ =”,而是使用了“ ==”(比較運算符)。

您可以在以下Javascript中找到有關比較運算符的更多信息: https : //www.w3schools.com/js/js_comparisons.asp

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM