没有定义Javascript函数和SyntaxError?

时间:2015-04-16 19:56:33

标签: javascript syntax-error

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.&#34; script.js:3 |未捕获的SyntaxError:意外的标识符&#34;
 2.&#34;(索引):3 | onclick |未捕获的ReferenceError:未定义bgTime&#34;
有人可以告诉我我做错了什么吗?提前谢谢!

P.S。这只是一个学习JS的项目,不要判断大声笑。

3 个答案:

答案 0 :(得分:2)

d.getHours()

getHoursd的方法,可使用点.访问。

答案 1 :(得分:1)

你忘记了一段时间。它应该是: d.getHours() >= 21等等。 :)

答案 2 :(得分:1)

您需要在所有if语句中使用点表示法:

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

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


<强>参考文献: