【发布时间】:2015-06-29 04:10:47
【问题描述】:
我正在尝试创建一个简单的倒数计时器,但我遇到了一个我认为应该可以工作的范围问题。
为什么我的内部函数不能访问其父函数中定义的对象变量?
JavaScript 控制台一直显示未定义。
function test() {
var minutes = document.getElementById("minutesInput").value;
var displayMinutesObj = document.getElementById("displayMinutes");
displayMinutesObj.innerHTML = minutes;
function timey() {
console.log( displayMinutesObj.value );
}
setInterval(timey,1000);
}
【问题讨论】:
-
那么,id 为“displayMinutes”的元素可能不再是输入字段了?如果它无法访问对象本身,则会引发错误。
-
displayMinutesObj.innerHTML = minutes;到底应该做什么? -
如果存在范围问题,控制台将显示 ReferenceError。
-
确实如此!
console.log( displayMinutesObj);显示什么?
标签: javascript scope