我是新來的Javascript,我不明白爲什麼我得到這段代碼的錯誤。請幫我理解我錯了什麼語法。Javascript函數未定義的錯誤代碼
var isEven = function(number){
if(number % 2 = 0){
return true;
} else {
return false;
};
};
isEven(5);
我是新來的Javascript,我不明白爲什麼我得到這段代碼的錯誤。請幫我理解我錯了什麼語法。Javascript函數未定義的錯誤代碼
var isEven = function(number){
if(number % 2 = 0){
return true;
} else {
return false;
};
};
isEven(5);
變化
if(number % 2 = 0)
到
if(number % 2 === 0)
,因爲你想測試,如果號碼的模2沒有餘數。你寫的是一個非法的作業。
謝謝!我一直忘記這來自VBA背景。非常感激。 – Justin
(number % 2 = 0)
應該是
(number % 2 == 0)
或
(number % 2 === 0)
一個等號是分配,雙等號 「等於」。
更多信息:
三重等號匹配類型和值。 (這是一個好習慣養成使用時可能。)類型有像「數字」,「對象」,「串」等
(number % 2 == 0) // true
(number % 2 == "0") // true
(number % 2 === 0) // true
(number % 2 === "0") // false
否則,可能==與其他事物的計算機認爲零工作,可能爲空,可能是空引號,或者可能不是,JS打字中有太多警告,===可以防止大部分類型的頭痛。
您在if語句中使用了賦值運算符而不是等號運算符。這會導致JavaScript錯誤,因爲操作符左側的值不是變量,而是表達式。
你想要做的是檢查平等。爲此,請在您的if語句中將=
更改爲===
。
if (number % 2 === 0)
你是在什麼瀏覽器中運行的?在Chrome中,至少它在控制檯中給出了一個相當明顯的錯誤信息:'在作業中左手邊無效' – CodingIntrigue
@Rraham這是一個codecademy的教程 - 我不熟悉如何響應錯誤消息 - 但現在我'知道這將意味着什麼 – Justin