2015-12-18 61 views

回答

1

您正在檢查函數isNaN是否存在,而不是數字是NaNisNaN(number)

雖然內容字符串爲真,但結果對於任何數字均爲真。

+1

謝謝!我需要練習更多...... – DreamCode

0

isNaN是一個函數,所以你的else if(isNaN)應該總是爲true,因爲isNaN是一個有效函數。嘗試else if (isNaN(number)),你應該在嘗試模之前檢查isNaN,因爲如果你輸入一個字符串,當你嘗試獲取字符串模塊時,它會立即出錯。

0

您正在返回一個字符串。

else if(isNan){ 
    return "Whatever"; 
} 

你只是告訴javascript評估「isNan」,作爲一個值,而不是一個函數。爲了評估它作爲一個功能,你必須用它來製作一個電話這樣的:

else if(isNan(yourNumber)){ 
    return true; 
} 

順便說一下,當您試圖評估函數作爲值像你這樣,JavaScript的將始終返回true如果該函數不是未定義的或爲空。

0

這是因爲

else if(isNaN) 

將是true並返回"This is not a number"這個字符串將被視爲真實的。在這裏你檢查isNaN被定義爲一個功能與否,這是當然定義的,所以你應該檢查數字是否有效的數字。

相反,你應該做的

else if(isNaN(number))