如何使用已在另一个文件中定义的JavaScript方法/对象?
我有一些复杂结构的JavaScript。因为我是JavaScript新手(只了解一些基本概念),所以我不知道如何正确使用它 我有两个文件:Circle.js和Line.js。在Circle.js中,我想使用Line.js中定义的类对象: 在Circle.js文件中:如何使用已在另一个文件中定义的JavaScript方法/对象?,javascript,Javascript,我有一些复杂结构的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 a
Helper.using('py.Figures', function (ns) {
ns.Circle = function (params) {
// some additional methods and code here
}
}
in Line.js是:
Helper.using('py.Figures', function (ns) {
ns.Line2Point = function (params) {
// some addition methods and code here
};
}
我想用Line2Point,但我不知道怎么用。
我认为应该是:
line = new ns.Line2Point(params);
但它似乎不起作用
根据
Helper类
,ns
将指向Helper.using
,在本例中为py.Figures
。这是否意味着,ns
在两个文件中是相同的对象/引用 我认为这在Javascript中无法直接跨文件执行。如果它们是同一名称空间的一部分,则可以共享一些“全局”对象以实现此目的,并将Line2点和圆附加到该全局对象:
例:
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 || {});
现在,您可以检查是否存在myshapenamespace.Circles
或.Lines
并相应地调用相应的方法
您可以在javascript中包含文件,并跨文件引用对象,除非它们以某种全局形式通过窗口或您的定义全局导出。Require.js正是为此而设计的,因为js的创建者,嗯,我想每个人都会在一个文件中编写每个程序
它是为web使用而设计的,但也可以在其他地方使用(本地、节点等)这些都不是标准的javascript或常用的库。你的意思是什么?请更清楚地告诉我。谢谢:)
(function(){
var line= {};
line.method1 = function(){...}
line.method2 = function(){...}
myShapesNameSpace.Lines= line;
})(window.myShapesNameSpace = window.myShapesNameSpace || {});