Javascript 函数未定义和 SyntaxError?

Javascript function not defined and SyntaxError?

HTML:

<html>
<body>
    <button onclick="bgTime()">CHANGE BACKGROUND</button>
</body>
    <script type="text/javascript" src="script.js">
    </script>
</html>

JavaScript:

function bgTime() {
    var d = new Date();
    if (d getHours() >= 21) {
        document.body.style.backgroundImage = "url('bg/H.png')"
    }
    else if (d getHours() >= 18) {
        document.body.style.backgroundImage = "url('bg/G.png')"
    }
    else if (d getHours() >= 15) {
        document.body.style.backgroundImage = "url('bg/F.png')"
    }
    else if (d getHours() >= 12) {
        document.body.style.backgroundImage = "url('bg/E.png')"
    }
    else if (d getHours() >= 9) {
        document.body.style.backgroundImage = "url('bg/D.png')"
    }
    else if (d getHours() >= 6) {
        document.body.style.backgroundImage = "url('bg/C.png')"
    }
    else if (d getHours() >= 3) {
        document.body.style.backgroundImage = "url('bg/B.png')"
    }
    else {
        document.body.style.backgroundImage = "url('bg/A.png')"
    };
};

好吧,我可能只是在某种程度上是个白痴,但我找不到我做错了什么。我收到两个错误:


1. "script.js:3 | Uncaught SyntaxError: Unexpected identifier"
2. "(index):3 | onclick | Uncaught ReferenceError: bgTime is not defined "
有人可以告诉我我做错了什么吗?提前致谢!

P.S。这只是一个学习JS的项目,不要评判哈哈

你忘了句号。它应该是: d.getHours() >= 21 等等。 :)

d.getHours()

getHoursd 的一个方法,使用点 ..

访问

您需要在所有 if 语句中使用点符号:

if (d.getHours() >= 21) { ... }

bgTime 未定义,因为 JS 解释器无法解码您的程序。修复 if 后,一切都会正常。


参考文献: