2014-03-07 141 views
-2
set("mean",total/weight); 
if (mean = "NaN") { 
    alert("Error! Please use NUMBERS only"); 
} 

我想警報只在結果是NaN時運行,計算沒有if語句,所以我知道這不是問題。我不能讓警報正常工作

+1

使用比較運算符'==',而不是'=' –

回答

0

變化

if (mean = "NaN") { 

if (mean == "NaN") { 

在第一ü將值設置到一個變種,在第二U做一個邏輯比較

3

使用isNaN功能比較:

if(isNaN(mean)){ 
    alert("Error! Please use NUMBERS only"); 
} 
+0

計算運行,但現在無論什麼 – user3373223

+0

都不知道,會使用一種方法來解決這個問題。謝謝 – user3373223

0

您正在拼寫字符串"NaN"mean,而不是比較。

你也不能用mean === NaN來檢查,因爲與NaN比較總是返回false。

要檢查是否爲NaN,您必須使用isNaN函數。

if (isNaN(mean)) { 
    alert("Error! Please use NUMBERS only"); 
} 
1

在JavaScript中,mean = "NaN",具有單個平等設置值的mean。然後if語句將檢查值「NaN」的「真實性」,其將評估爲真。也就是說,您的if(mean = "NaN")將首先將mean設置爲文字字符串"NaN",然後再測試if("NaN")

使用雙等於mean == "NaN")是否相等的比較,和三重等號mean === "NaN")的類型和相等比較。

但是,mean == "NaN"將始終返回false,因爲NaN is not the literal string "NaN" but a special value。改爲使用isNaN(mean)