Javascript/jQuery-无论如何,要简化它或使其不那么迟钝
所以,我用一些原型方法设置了这个构造函数,因为我需要将行为(这个对象创建的)应用到一些不同的元素,我想知道是否有比下面更好的方法Javascript/jQuery-无论如何,要简化它或使其不那么迟钝,javascript,jquery,Javascript,Jquery,所以,我用一些原型方法设置了这个构造函数,因为我需要将行为(这个对象创建的)应用到一些不同的元素,我想知道是否有比下面更好的方法 var MAINFUNC = function(opts){ this.options = { item1 : 'somevalue' }, this.init(opts); } MAINFUNC.prototype = { someFunc1: function(){ // do stuff }, some
var MAINFUNC = function(opts){
this.options = {
item1 : 'somevalue'
},
this.init(opts);
}
MAINFUNC.prototype = {
someFunc1: function(){
// do stuff
},
someFunc2: function(){
// do stuff
},
someFunc3: function(){
// do stuff
},
init: function(data){
$.extend(this.options, data);
this.someFunc1();
}
};
var obj1Create = new MAINFUNC({ someoptions });
var obj2Create = new MAINFUNC({ someoptions });
var obj2Create = new MAINFUNC({ someoptions });
因此,最后三个obj实例似乎有点迟钝。也许我是不正确的,但我认为有一种更精细的方法可以做到这一点。是的,每个obj*Create都表示一个diff元素,它需要MAINFUNC提供的行为
多谢各位
var MAINFUNC = function(opts)
{
var m = Object.create(MAINFUNC.prototype);
m.options = { ... };
m.init(opts);
return m;
};
var o = [{someoptions}, {someoptions}, {someoptions}].map(MAINFUNC);
// objects are all now in array
这种方法的一个附带好处是,无论您是否使用new
,它都可以使MAINFUNC
工作。这使得它更易于管理,尤其是对于收集函数
这种方法的一个附带好处是,无论您是否使用
new
,它都可以使MAINFUNC
工作。这使得它更易于管理,尤其是使用收集函数。如果术语元素的意思是DOM元素
将您的代码放入jQuery插件中,这样您就可以编写$(选择器)。myFuncPlugin(选项)
<代码>插件中的每个
循环都会创建多个实例我本来打算这样做的,但是这个功能并不完全符合插件的要求。使用将是最低限度的,不确定链接将是有用的,我在做什么。不过我明白你的意思。如果Plynx下面的答案对我不起作用,我可能会走这条路。谢谢Charlie。这不仅仅是关于链接,如果插件影响DOM元素,那么插件中暴露的元素就更重要了如果用元素这个词,你的意思是DOM元素把你的代码放到jQuery插件中,这样你就可以编写$(选择器)。myFuncPlugin(选项)
<代码>插件中的每个
循环都会创建多个实例我本来打算这样做的,但是这个功能并不完全符合插件的要求。使用将是最低限度的,不确定链接将是有用的,我在做什么。不过我明白你的意思。如果Plynx下面的答案对我不起作用,我可能会走这条路。谢谢Charlie。这不仅仅是关于链接,如果插件影响DOM元素,那么插件中的元素就会暴露出来。我会试试看。谢谢我一经考试就接受。谢谢你的及时回复。Plynx-我有个问题要问你。您的方式(或我创建的方式)比使用jQuery插件方式有什么好处吗?警告-此MAINFUNC在整个站点上的使用有限。@JQuery插件方式允许您使用任意选择器并将其链接到您的函数中。但是你可以用$('yourselector')做同样的事情代码>无需制作插件。在…
中,您只需对选择中的每个元素执行一些操作,例如与MAINFUNC
交互(从您的示例中,我无法确切地知道它们应该如何交互,因此我无法说出其中的内容)。我将尝试一下。谢谢我一经考试就接受。谢谢你的及时回复。Plynx-我有个问题要问你。您的方式(或我创建的方式)比使用jQuery插件方式有什么好处吗?警告-此MAINFUNC在整个站点上的使用有限。@JQuery插件方式允许您使用任意选择器并将其链接到您的函数中。但是你可以用$('yourselector')做同样的事情代码>无需制作插件。在…
中,您只需对选择中的每个元素执行一些操作,例如与MAINFUNC
交互(从您的示例中,我无法确切说明它们应该如何交互,因此我无法说出其中的内容。)