我正在尝试使用原型模式为 Web 控件创建客户端 api。但是,我想通过不必管理“这个”来让生活更轻松。
这是一些示例代码(我已经评论了有问题的行):
MyObject = function ()
{
MyObject.initializeBase(this);
this._someProperty = null;
};
MyObject.prototype = {
initialize: function()
{
// Init
},
get_someProperty: function()
{
return this._someProperty;
},
set_someProperty: function(value)
{
this._someProperty = value;
},
doSomething: function ()
{
$('.some-class').each(function ()
{
$(this).click(this.doClick); // this.doClick is wrong
});
},
doClick: function ()
{
alert('Hello World');
}
};
通常,使用显示模块模式我会声明一个私有变量:
var that = this;
我可以用原型模式做类似的事情吗?