代码之家  ›  专栏  ›  技术社区  ›  hqt

Javascript:从另一个文件调用函数

  •  10
  • hqt  · 技术社区  · 13 年前

    我刚开始学习Javascript,所以当我阅读Javascript文档时,有很多复杂的结构我无法理解。

    以下是我正在阅读的Javascript代码的简短解释:在我的案例中,有两个主要文件: Helper.js Circle.js

    在Helper.js中,有一个方法名称: using:function(param1,param2) 。下面是的代码 圆圈.js 以下为:

    Helper.using('py.Figures', function (ns) {
    
        ns.Circle = function (params) {
            // some additional methods and code here
        }
    
        ns.Alert = function(){   // for the test purpose
               alert('hello');
        }
    });
    

    在文件test.html中,我编写了一些代码,如下所示:

    <script src="Helper.js"></script>
    <script src="circle.js"></script>
    <script>
       test = function(){
            py.Figures.Alert();  // calling for testing purpose
       }
    </script>
    <body onload="test();"></body>
    

    当我在Chrome上运行并在控制台中查看时,我会遇到以下错误:

    未捕获的类型错误:对象#没有方法“Alert”

    这意味着我还没有导入那些类。请告诉我如何从另一个文件调用函数。我的情况是:打电话 Alert()

    谢谢:)

    @编辑:我为代码添加了一些链接:

    Helper.js

    Circle.js

    2 回复  |  直到 13 年前
        1
  •  11
  •   Community Mohan Dere    9 年前

    你为什么不看看这个答案

    Including javascript files inside javascript files

    简而言之,您可以用AJAX加载脚本文件,或者在HTML上放置一个脚本标记以包含它(在使用其他脚本功能的脚本之前)。我发布的链接是一个很好的答案,并有多个例子和解释这两种方法。

        2
  •  1
  •   Mayank Vora    10 年前

    是的,你可以。只要检查一下我的小提琴就可以了。为了演示的目的,我把代码放在同一个位置。您可以提取两个不同的Javascript文件中显示的代码,并将它们加载到html文件中。

    https://jsfiddle.net/mvora/mrLmkxmo/

     /******** PUT THIS CODE IN ONE JS FILE *******/
    
        var secondFileFuntion = function(){
            this.name = 'XYZ';
        }
    
        secondFileFuntion.prototype.getSurname = function(){
         return 'ABC';
        }
    
    
        var secondFileObject = new secondFileFuntion();
    
        /******** Till Here *******/
    
        /******** PUT THIS CODE IN SECOND JS FILE *******/
    
        function firstFileFunction(){
          var name = secondFileObject.name;
          var surname = secondFileObject.getSurname()
          alert(name);
          alert(surname );
        }
    
        firstFileFunction();
    

    如果您使用构造函数创建一个对象,并尝试在第二个文件中从中访问属性或方法,它将允许您访问另一个文件中存在的属性。

    只需注意将这些文件包含在index.html中的顺序即可