【发布时间】:2014-05-13 15:07:39
【问题描述】:
我在创建新的对象实例时遇到了一点问题。
(function ($) {
$.Graph = function (config) {
jQuery.extend(true, self.options, config || {});
// do something
return this;
}
$.Graph.prototype = {
data: [],
options: {...}
}
}(jQuery));
问题是如果我创建这个对象的两个实例:
Graph1 = new $.Graph({'container': 'graph1',...});
Graph2 = new $.Graph({'container': 'graph2',...});
之后
console.log(Graph1.options.container);
console.log(Graph2.options.container);
我得到了他们两个结果'graph2'。我认为,第一个实例已被第二个实例覆盖。 请问我该怎么做。也许可以通过 jQuery“插件”来实现,但对于这种对象/类的情况,我不喜欢它。
有人可以帮我吗?
谢谢
【问题讨论】:
-
什么是
self.options? -
哦抱歉,应该是this.options,我试过了
标签: javascript jquery class oop object