我想创建一个名为'myPlugin'的插件。我应该使用哪种方法,这两种方法有什么区别?请告诉我优点。我来自设计背景而不是很多编程知识。
var myPlugin = {
myId:"testId",
create:function(){},
destroy:function(){}
}
OR
function myPlugin() {
this.myId = "testId";
this.create = function(){};
this.destroy = function(){};
}
答案 0 :(得分:2)
第一种方法创建一个 singleton 对象,存储在名为myPlugin
的变量中。此表单中只存在一个“插件”实例。如果您知道您只需要一个实例,这种方法是一个不错的选择。您还可以使用Module Pattern扩展其功能以允许公共和“私有”属性。
第二种方法定义了一个对象构造函数,它允许您使用new
关键字创建对象的多个实例。这将允许您根据需要使用尽可能多的对象副本,并使您能够使用其prototype
添加到对象上。
答案 1 :(得分:0)
我会选择类似的东西:
function myPlugin () {
this.myId = "testId";
this.create = createFunction;
this.destroy = destroyFunction;
}
function createFunction() {
alert('createFunction() called');
}
function destryFunction() {
alert('destroyFunction() called');
}
my plugin = new myPlugin();