Javascript插件创建

时间:2010-04-14 07:03:37

标签: javascript oop

我想创建一个名为'myPlugin'的插件。我应该使用哪种方法,这两种方法有什么区别?请告诉我优点。我来自设计背景而不是很多编程知识。

 var myPlugin = {
     myId:"testId",        
     create:function(){},
     destroy:function(){}
}

OR

function myPlugin() {
this.myId = "testId";
this.create = function(){};
this.destroy = function(){};

}

2 个答案:

答案 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();