我想知道是模块模式还是构造函数/原型(prototype)模式更适合我的工作。
基本上我使用的是不显眼的 javascript -- HTML 文档有对 .js 文件的引用。
我对模块模式的理解:
- 调用一个 INIT 方法(这基本上是一个公共(public)方法,我可以使用模块模式创建和返回)
- 在INIT方法中,分配所有点击事件等。
这听起来像是适合我的情况的完美模式,因为我不需要创建对象和继承层次结构等。
我对构造函数/原型(prototype)模式的理解:
- 用于创建对象
- 使用继承(即父类(super class)型的子类型)
我是否正确,为了提供不显眼的 javascript,模块模式是理想的?
最佳答案
构造函数和原型(prototype)是实现类和实例的合理方法之一。它们并不完全对应于该模型,因此您通常需要选择特定的方案或辅助方法来根据原型(prototype)来实现类。 ( Some background on classes in JS .)
模块模式通常用于命名空间,您将有一个实例作为存储来对相关函数和对象进行分组。这是一个不同于原型(prototype)设计的用例。他们并不是真的在互相竞争;您可以非常愉快地同时使用两者(例如,将构造函数放在模块中并说 new MyNamespace.MyModule.MyClass(arguments)
)。
关于Javascript:模块模式与构造函数/原型(prototype)模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3790909/