感謝您花時間回顧此問題。我一直在試圖解決一個問題,但沒有成功一兩個小時......強制JavaScript返回false以通過函數持續
我有一個網頁,其基於從一個函數的響應JavaScript變量:
grade = getScore(questionAnswer, userAnswer, questionType);
( userAnswer是用戶的問題的答案,並從一個文本檢索)
這裏是getScore:
function getScore(questionAnswer, userAnswer, questionType) {
switch(questionType) {
case 'multiplechoice':
return scoreMC(questionAnswer, userAnswer);
break;
case 'usertypesanswer':
return scoreTA(questionAnswer, userAnswer);
break;
default:
return 0
}
}
爲scoreMC和scoreTA功能已經被徹底的測試, d工作很好。問題是,如果用戶的答案格式不正確,scoreMC或scoreTA將返回false。否則它返回值分數和味精。然而,當我根據getScore函數設置等級變量的值時,我沒有得到「等級」的「假」值,而是得到「未定義」。 (我們沒有問題,當用戶響應驗證正確。)
設置「級」後,我試圖以檢查是否有任何部分是不確定的:
if(typeof(grade.score) !== undefined)
我不明白爲什麼,但即使當我在我的Firebug控制檯中看到「undefined」時,grade.score也會通過此檢查...
有人看到我在做什麼錯嗎?非常感謝你的協助。我有很多需要了解的JavaScript。
你有沒有試過'typeof' –