1

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

<script type="text/javascript" src="filepath"></script>

句法。但是,当在 .js 文件中使用时,它会在“<”上引发语法错误,因此我认为此代码无效。

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

编辑:我将为将来澄清一些事情,因为我对 Javascript 还是很陌生,而且看起来还有许多我什至不知道的其他因素在起作用。

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

很抱歉有任何误解,希望这个帖子对将来的其他人有所帮助。

4

4 回答 4

3

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

于 2012-11-14T14:55:45.450 回答
3

两个答案:

非浏览器

如果您在非浏览器环境(NodeJS、RingoJS、SilkJS、Rhino 或其他任何一种)中使用 JavaScript,答案取决于环境——但其中许多使用CommonJSrequire机制。例如:

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

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

浏览器

如果您在浏览器中使用 JavaScript,您可以将script标签与您在 HTML 中引用的标签一样,按照它们应该被处理的顺序放置(因此,依赖于其他脚本中定义的内容的脚本应该包含在它们依赖的脚本之后在)。

如果您想在页面加载时间方面最大化效率,请在服务器上将脚本组合在一起(可能还缩小/压缩/打包它们)并仅使用一个script标签。

于 2012-11-14T15:00:03.980 回答
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>
于 2012-11-14T14:57:17.097 回答
0

The answers posted above should do the trick however since you mentioned doing it efficiently you can consider taking a look at javascript module based loaders like require js( http://requirejs.org/ ) based on AMD

于 2012-11-14T15:00:58.257 回答