从.js文件在单独的.js文件中定义的访问函数

时间:2012-11-14 14:54:23

标签: javascript function loading

我已经看到了很多关于将.js文件加载到HTML文件中的问题,我知道如何做到这一点。但是,假设我有“classlist.js”文件。如何在另一个javascript文件中使用该javascript文件中定义的类?我一直看到建议使用

的答案
<script type="text/javascript" src="filepath"></script>

语法。但是,当在.js文件中使用时,它会在“&lt;”上引发语法错误所以我认为这段代码无效。

那么,如何利用在单独的.js文件中定义的.js文件中的函数......哪个有效,哪个有效(如果有的话)?

编辑: 我将为未来澄清一些事情,因为我仍然是Javascript的新手,看起来还有许多我甚至不知道的其他因素发挥作用。

我有两个.js文件,其中一个声明的类是另一个文件中类的扩展。我想在网页中使用扩展类,我想我必须将原始类加载到第二个.js文件中,然后将.js文件加载到HTML文件中。我没有完全在HTML之外进行编程。

对于任何误解感到抱歉,希望这个帖子将来对其他人有帮助。

4 个答案:

答案 0 :(得分:3)

假设您在网络浏览器中讨论javascript,所有js文件都加载到html文件中,通常是index.html。您需要使用脚本标记以正确的顺序加载javascript 在该html文件中,而不是在javascript文件中。因此,如果文件B需要文件A中的内容,则需要首先加载文件A,这意味着将加载文件A的脚本标记放在加载文件B的脚本标记之前。

答案 1 :(得分:3)

两个答案:

非浏览器

如果您在非浏览器环境中使用JavaScript(NodeJS,RingoJS,SilkJS,Rhino或其他任何一种),答案取决于环境 - 但其中许多使用{{3} }。 E.g:

// Get access to public symbols in foo.js
var foo = require("foo.js");

// Use the `bar` function exported by foo.js
foo.bar();

浏览器

如果您在浏览器中使用JavaScript,则会按照您在HTML中引用的标记放置script标记,按照处理顺序排列(所以,脚本依赖于其他脚本中定义的内容应该包含在他们依赖的脚本之后。)

如果您希望在页面加载时间方面最大限度地提高效率,请将服务器上的脚本组合在一起(可能还要缩小/压缩/打包它们)并仅使用一个script标记。

答案 2 :(得分:0)

您必须在需要它的任何其他classlist.js元素之前,在您的HTML文件(而不是您的Javascript文件)中引用SCRIPT。例如,在'head'元素中:

<html>
<head>
  <script src="testclass.js"></script>
  <script src="file_using_testclass.js"></script>
  <script>
    var tc = new TestClass();
  </script>
</head>

答案 3 :(得分:0)

上面发布的答案应该可以解决问题但是因为你提到有效地做了这件事你可以考虑看一下基于javascript模块的加载器,比如基于AMD的require js(http://requirejs.org/