我正在尝试创建一个简单的倒数计时器,但遇到了我认为应该可以解决的范围问题。

为什么我的内部函数无法访问其父函数中定义的对象变量?

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);
    }

最佳答案

通过此行displayMinutesObj.innerHTML = minutes;,我假定该元素不是输入元素,因此您不能使用.value,因为.value属性适用于表单元素,因此更改为:

..
function timey() {
    console.log( displayMinutesObj.innerHTML );
}
..

09-15 13:26