我有這個問題的嘗試,趕上並拋出我的錯誤。但是得到的結果是標記的方式。這是代碼。當我輸入大於5的數字進入表單域時,不會顯示太高的數字。當我輸入小於5的數字時,它顯示得太高,而不是太低。事實上,如果條件不顯示,大多數其他條件。除。空虛而過高。有人可以解釋這種反常現象嗎?JavaScript拋出和捕獲錯誤不顯示預期的結果
function myFunction() {
var x, message;
message = document.getElementById('para');
message.innerHTML = '';
x = document.getElementById('formField').value;
try {
if (x == "") throw 'empty';
if (x == NaN) throw 'not a number';
x = Number(x);
if (x < 5) throw 'too low';
if (x > 5) throw 'too high';
}
catch(err){
message.innerHTML = 'input is ' + err;
}
}
你們很多人似乎都不瞭解我的問題,這裏的代碼是從W3schools直接複製和粘貼的。但不能正常工作。當來自輸入的值匹配if語句時,各種if語句應該會引發某些錯誤。而是它給出了一個不相關的結果。比如當我輸入2個數字時,而不是投入太低,我輸入的輸入太高。當我輸入超過5的數字時,它不會引發錯誤,並且對於NaN沒有響應。
有沒有人可以理解我在說什麼?我認爲你應該自己運行代碼,並請教我在哪裏混淆。
'X == NaN'將無法正常工作使用'isNaN()' – csharpfolk
感謝。但其他條件如果<5,而不是太低,它會引起太高 – pedroyanky
10我試過這個函數,它適用於我,你可以在'try'前添加'console.log(x)'併發布什麼它會爲你寫,而你正在閱讀窗體正常的''表單元素? – csharpfolk