繁体   English   中英

如何使用在另一个文件中定义的JavaScript方法/对象?

[英]How to use a JavaScript method/object that has been defined in another file?

我有一些结构复杂的JavaScript。 因为我是JavaScript的新手(仅了解一些基本概念),所以我不知道如何正确使用它。

我有两个文件:Circle.js和Line.js。 在Circle.js中,我想使用Line.js中定义的类对象:

在文件Circle.js中:

Helper.using('py.Figures', function (ns) {

    ns.Circle = function (params) {
        // some additional methods and code here
    }
}

在Line.js中是:

Helper.using('py.Figures', function (ns) {

        ns.Line2Point = function (params) {
            // some addition methods and code here
        };
}

在Figures.Circle中,在ns.Circle中,我想使用Line2Point,但我不知道如何。 我认为应该是:

line = new ns.Line2Point(params);

但这似乎行不通。

根据Helper Classns将指向helper.using ,在本例中为py.Figures 这是否意味着ns在两个文件中都是相同的对象/引用?

我认为这在直接跨文件的Javascript中是可行的。 如果它们是同一名称空间的一部分,则可以共享一些“全局”对象来实现这一点,将line2points和circle附加到该全局对象上:

例如:

var myShapesNameSpace = {};

Circle.js:

(function(){
  var circle = {};
  circle.method1 = function(){...}
  circle.method2 = function(){...}

  myShapesNameSpace.Circles = circle;

})(window.myShapesNameSpace = window.myShapesNameSpace || {}); //check if namespace object exists. Else create a new blank one.

Line.js:

(function(){
  var line= {};
  line.method1 = function(){...}
  line.method2 = function(){...}

  myShapesNameSpace.Lines= line;

})(window.myShapesNameSpace = window.myShapesNameSpace || {});

现在,您可以检查是否存在myShapesNameSpace.Circles.Lines并相应地调用相应的方法。

您可以将文件包含在javascript中,并且可以跨文件引用对象,除非它们通过窗口或定义全局以某种全局形式导出

欢迎使用Javascript,这是粪便。 Require.js正是为此而设计的,因为JS的创建者很好,我想是每个人都会在一个文件中编写每个程序。

需求JS

它专为Web使用而设计,但也可以在其他地方使用(在本地,与Node等一起使用)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM