鉴于我的目标:
obj = {}
obj['prop1'] = 1
obj['prop2'] = 2
如果我使用下划线扩展它,并使用如下函数属性:
objHelper = {
normalizeValue: function(somerules, myObj){
/* .. some logic involving myObj and somerules*/
}
}
_.extend(obj, objHelper)
所以,当我在obj
上调用函数时,我会这样做:
obj.normalizeValue('somerule', obj);
所以我将自己传递给对象方法,这似乎有些奇怪。有没有办法访问调用此方法的对象,即从上面的示例:
normalizeValue: function(somerules){
/* .. some logic involving myObj and somerules*/
var myObj = someMagicMethod();
}
答案 0 :(得分:3)
有没有办法访问在
上调用此方法的对象
是的,this
keyword确实做到了。
objHelper = {
normalizeValue: function(somerules){
/* .. some logic involving somerules and the target of the method call */
var myObj = this;
}
};