0

我有两个 javascript 文件(file1、file2)。File1 使用在 file2 中定义的类。我是否可以通过以下方式从 html 文件中引用这些文件:

<script type="text/javascript" src="file1.js"></script>
<script type="text/javascript" src="file2.js"></script>

这是否允许 file1 依赖于 file2 中定义的类?如果不是,有哪些插件允许这种依赖?

4

2 回答 2

0

概述:

使用 Jquery 动态加载 JS 使用以下内容:

$.getScript("file1.js",function(){

    alert("File1.js is loaded");
}

面向对象 JS 和动态 js 加载的示例。

File1.js 为:

File1 = function(){
}
File1.prototype=
{
    constructor:File1,
    primary:function()
    {
        if (File2 == "undefined")
        {
           $.getScript("file2.js",function()
           {
              file2 = new File2();
              file2.secondary();
           });
        }
    }
}

File2.js 为:

File2 = function(){
}
File2.prototype=
{
  constructor:File2,
  secondary:function()
  {
    if (File1 == "undefined")
    {
      $.getScript("file1.js",functiom()
      {
         file1 = new File1();
         file1.primary();
      });
    }
  }
}

这应该让您很好地了解 JS 的动态加载,以及 JS 面向对象的概念。

于 2013-12-05T16:07:35.013 回答
0

这与您使用它们的方式有关。一种简化的方法。

场景一:

script1.js

function primary()
{
    secondary();
}

script2.js

function secondary()
{
    alert("hi primary");
}

测试.html

<html>
<head>
<script src=script1.js></script>
<script src=script2.js></script>
</head>
<body>
</body>
</html>

它有效(你已经知道了)

场景二:

script1.js

secondary();

script2.js 和 test.html 同上

它不工作(js错误)

场景 3:

script1.js

secondary();

script2.js 保持不变

测试.html

<html>
<head>
<script src=script1.js defer></script>
<script src=script2.js></script>
</head>
<body>
</body>
</html>

有用。

这是你要找的吗?

于 2012-06-13T22:24:38.850 回答