[英]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
循環內,以便在記錄每個數字后獲得even
或odd
的輸出。
這是最終結果:
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.