外部Javascript - 功能未定义的时候?

时间:2012-04-10 02:08:44

标签: javascript

在为此Web应用程序的同一HTML文件中编写CSS,Javascript和HTML5代码之后,我决定将CSS和Javascript分成各自的外部文件,并将它们包含在HTML5文件中。

在我添加以下内容之前,我遇到了一个小问题,即Javascript代码无效:

window.onload = function() { //script code}

现在看起来除了函数之外的所有东西都没有加载。由于我使用Firebug发现的错误表明函数尚未定义,但它显然是。

以下是代码:

HTML页面 http://turing.cs.olemiss.edu/~sbadams2/RebelFlow.html

JS文件 http://turing.cs.olemiss.edu/~sbadams2/RebelFlow.js

我已经阅读了其他回复,其中说明路径可能不正确,但Javascript文件中的其他所有内容都可以正常加载,但实际功能除外。

我不确定导致此问题的原因。

1 个答案:

答案 0 :(得分:5)

问题是javascript具有函数作用域,这意味着函数内定义的变量/函数只能在该函数内可见,而不能在外部看到。 window.onload=function(){/*your code here*/}创建了一个额外的范围,例如,在window.onload包装函数之外,您的createWellPump()函数是未知的。

最简单的解决方案是再次删除window.onload包装,然后直接在结束</body>标记之前加载脚本。