1
我知道,那麼爲什麼JShint拋出這個錯誤JavaSript沒有塊級範圍:執行上下文混亂
可變warning
可能尚未初始化。
function x(){
if(y<allQuestions.length && document.getElementById('warning')<1) {
var warning = document.createElement('p');
warning.id = 'warning';
warning.appendChild(document.createTextNode('Please check an answer!'));
wrapper.appendChild(warning);
setTimeout(function(){
if (document.getElementById('warning')) {
wrapper.removeChild(document.getElementById('warning'));
}
}, 2500);
}else{
//HERE is the problem
warning.appendChild(document.createTextNode('Your response is still worng!'));
}
}
沒有其他statemenet它識別變量和代碼的作品。
到變量的話題無關,就看你的測試,如果一個元素在DOM會的工作,但它做的事情一個非常奇怪的方式。當找不到元素時,'getElementById()'函數將返回'null'。 – Pointy 2014-11-03 14:44:38
更好的聲明是document.getElementById('warning')!= null,對嗎? – GSG 2014-11-03 15:28:30
是的,那是更典型的做法。 – Pointy 2014-11-03 15:41:22