尽管放置了我的外部JavaScript文件,为什么我的代码不能正常工作?

时间:2011-08-20 20:25:25

标签: javascript html

这是我的文件写出方式的基础。我有一个位于head元素顶部的外部JavaScript文件。在它下面,我已经编写了它的参考内容。我希望,因为代码低于文件它可以工作,但事实并非如此。它仅在我将代码包装在window.onload()函数中时才有效。或者,如果我将代码放在body元素的脚本中。

<html>
    <head>
        <script type="text/javascript" src="myJavaScript.js"></script>
        <script type="text/javascript">
            console.log(w); // w is a variable inside myJavaScript.js but throws an error stating "w is not defined".
        </script>
    </head>
    <body></body>
</html>

为什么这段代码会这样?我将文件写在代码之上,该代码调用其中的内容但它仍然不起作用。

编辑:我发现了错误,而且我没有在全局范围内定义myJavaScript.js中的代码。这就是变量w永远无法通过的原因。

3 个答案:

答案 0 :(得分:2)

我无法重现你的问题。您可能没有定义“w”变量,或者您将其定义为远离全局范围

http://sandbox.phpcode.eu/g/686fb

尝试在头顶添加:

var w = "";

答案 1 :(得分:2)

您必须向我们展示myJavaScript.js中的相关代码,以便我们知道实际发生了什么,但很明显w未定义在myJavasScript.js的全局范围内1}}或myJavaScript.js未成功加载。

很可能w实际上并不像您认为的那样是全局范围的变量。

答案 2 :(得分:1)

美元到甜甜圈,w正在设置onload