标签: javascript prototype-programming serverside-javascript
如何将属于JavaScript对象原型的回调函数访问对象成员? 回调不能是闭包,一切都必须定义如下:
function Obji(param){ this.element = param; } Obji.prototype.func(){ database.get("someKey",this.cb); } Obji.prototype.cb(){ //here I would like to access this.element }
答案 0 :(得分:5)
database.get("someKey",this.cb.bind(this));
.bind,ES5 shim适用于较旧的浏览器
.bind
答案 1 :(得分:2)
在javascript this中始终指向调用该函数的对象,如果未在任何内容上调用该对象,则指向全局对象。你能这样做吗?
this
Obji.prototype.func = function(){ var ref = this; database.get("someKey", function(){ref.cb()}); }