在多个文件中拥有多个类的Javascript快速方法
Javascript quick way to have many classes in multiple files
我正在考虑如何使用许多Javascript类使事情变得简单。我想使用单独的文件,否则我会得到超过1000行的文件。我现在正在拆分它。
在一个文件的早期,它是一个函数jQuery文档,内部是定义的类。因此,全球空间没有受到污染。
当我拆分成文件时,我只想使用一个包含这些类的对象,比如:
globalobject = {
};
globalobject.class1 = {
// code
}
globalobject.class2 = {
// code
}
但我讨厌不得不写globalobject.classname
。所有东西放在一个文件里看起来都更好。
另一种选择是使用前缀,如pre_class1、pre_class2,但这也不理想。
也许有某种方法可以帮助requirejs,但我快速查看了一下,但没有发现如何快速使用它,我以前从未使用过,以前不使用时看起来也不那么快。
有什么建议吗?顺便说一句,我也在使用提线木偶的主干,但我对提线木偶很陌生。我看到它也有一些模块,但对我来说仍然不是一个快速的方法
或者,在我还不了解提线木偶模块或requirejs库之前,我甚至不应该尝试拆分长文件吗?
这个怎么样:
globalobject = (function(globalobject) {
// common code only accessible from class1 and inside this closure
var class1 = {
//code
};
globalobject.class1 = class1;
return globalobject;
}) ( globalobject || {} );
这种方式将使每个文件中有一个"类"成为可能,并且在向全局对象添加几个"类"时,无论导入顺序如何都可以工作。
使用下划线的extend
方法将函数添加到基类:
// file1
var object = {
foo : function () {...}
}
_.extend(object, objectFromFile2);
// file2
var objectFromFile2 = {
bar : function () {...}
}
您现在拥有object.foo
和object.bar
如果您的实际问题是"如何将代码从文件1导入文件2",我建议您查看RequireJS
您不需要一直重复使用globalobject
表示法。
你可以做:
// define the class in local scope
function MyClass() {};
MyClass.prototype.myFunction = function () {};
MyClass.prototype.myOtherFunction = function () {};
// then export it
globalobject.MyClass = MyClass;
相关文章:
- 从Javascript方法返回全局变量
- 简单的JavaScript方法链接
- 如何为javascript方法放入jquery确认对话框
- jquery插件或javascript方法自动调整文本输入(而非文本区域)(固定宽度)可变高度的大小
- 在类外重写Javascript方法,使用默认行为
- 使用 JavaScript 方法滚动
- 如何从窗体调用外部javascript方法
- 使用c#在Web服务器上运行JavaScript方法
- 如何从角度 js 调用 javascript 方法
- 在Node.js中,我在哪里可以看到JavaScript方法的源代码,例如hasOwnProperty
- 简单的javascript方法问题
- iframe未执行Javascript方法(PHP)
- Javascript 方法看不到对象变量
- 从HTML中的另一个文件访问javascript方法
- 如何测试只在闭包范围中可见的javascript方法
- 将php表转换为angularjs javascript方法
- 使用ScriptManager.RegisterStartupScript从代码隐藏调用javascript方法
- 如何从 MVC4 链接调用 Javascript 方法(错误 JavaScript 运行时错误:对象不支持此操作)
- Java eqivalent method of “splice(a,b,..)“在 JavaScript 方法中
- 在客户端 Javascript 方法之后运行服务器方法