1
比方說,我有這個片段。這個===不適用浮點舍入不準確的B/C嗎?
var age = prompt('what is your age?');
if (age === 30)
{
alert('your age is 30');
}
當我在提示中輸入30時,if語句不會觸發。我懷疑它與浮點舍入錯誤有關,但並不確定。聽到你的想法會很棒。
比方說,我有這個片段。這個===不適用浮點舍入不準確的B/C嗎?
var age = prompt('what is your age?');
if (age === 30)
{
alert('your age is 30');
}
當我在提示中輸入30時,if語句不會觸發。我懷疑它與浮點舍入錯誤有關,但並不確定。聽到你的想法會很棒。
window.prompt()
返回一個字符串。字符串與數字不相同。使用以下任一方法:
if (age === '30')
if (+age === 30) // Explicit type conversion
if (age == 30) // Implicit type conversion
有關顯式轉換的說明,請參閱this answer。例如,輸入00030
也可能有效。
OP可能也會忽略對===的真正含義的理解 - 可能也要包括這個以及 – JRaymond 2012-04-25 21:54:44
@JRaymond如果是這樣的話,我參考這個問答:http://stackoverflow.com/questions/359494/ javascript-vs-it-matter-which-equal-operator-i-use – 2012-04-25 21:55:45
我認爲主要問題是我對字符串和數字類型感到困惑。也許我應該在提示符中轉換類型。 – stanigator 2012-04-25 22:04:31