Javascript 在普通JS中立即执行JS函数

Javascript 在普通JS中立即执行JS函数,javascript,three.js,Javascript,Three.js,我正在尝试学习使用three.js。我对JS了解不多,但我想我会边走边捡。我很难将以下两件事结合起来: fire.html: <!DOCTYPE html> <html> <head> <title></title> <link rel="stylesheet" type="text/css" href="fire.css"> <script type="text/javascript" hre

我正在尝试学习使用three.js。我对JS了解不多,但我想我会边走边捡。我很难将以下两件事结合起来:

fire.html:

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <link rel="stylesheet" type="text/css" href="fire.css">
    <script type="text/javascript" href="js/fire.js"></script>
    <script type="text/javascript" href="js/three.js"></script>
</head>

<body onload="fire()"></body>

</html>
我得到一个未定义的引用错误,当我尝试使用onload时,fire()不存在(我不知道标记中包含的小选项被调用了什么)

我正在使用Python的SimpleHTTPServer(
Python-msimpleHttpServer
)在本地托管此代码。我不确定这是否有任何问题。我设法使用相同的设置使代码正常工作,所以我的问题似乎在于找出如何最好地使用JS,而不实际将其嵌入HTML中,因为这似乎是最干净的

我还通过jslint运行了fire.js,以确保没有任何语法错误,并且看起来还可以。(随时检查我的工作)


所以,我不知所措。我如何让这两个人合作?(目前最好使用普通JavaScript)

使用
src
属性而不是
href
引用外部JavaScript文件:

<head>
    <title></title>
    <link rel="stylesheet" type="text/css" href="fire.css">
    <script type="text/javascript" src="js/fire.js"></script>
    <script type="text/javascript" src="js/three.js"></script>
</head>


作为将来的参考,您可以使用网络选项卡(在Chrome的开发者工具中)来验证外部文件是否正确加载。

您可以随时查看IIFEs(立即调用的函数表达式):但是fire应该不能引用
THREE
,除非您将其放在THREE.js之后。(fire.js在你脑海中的三个.js之后)可能会更仔细地检查未定义的引用错误。验证你在加载
fire.js
Ah时没有收到404/not found错误!
src
标记工作正常。非常感谢。而且,这真的很好,我仍然习惯于开发人员控制台。我必须在那里挖掘,并学会有效地使用它。再次感谢你!
<head>
    <title></title>
    <link rel="stylesheet" type="text/css" href="fire.css">
    <script type="text/javascript" src="js/fire.js"></script>
    <script type="text/javascript" src="js/three.js"></script>
</head>