0

鉴于我的对象:

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);

所以我将 self 传递给 object 方法,这似乎有点奇怪。有没有一种方法可以访问在上面的示例中调用此方法的对象:

normalizeValue: function(somerules){
                    /* .. some logic involving myObj and somerules*/

                          var myObj = someMagicMethod();
                  }
4

1 回答 1

3

有没有办法访问正在调用此方法的对象

是的,this关键字确实做到了这一点。

objHelper = {
    normalizeValue: function(somerules){
        /* .. some logic involving somerules and the target of the method call */
        var myObj = this;
    }
};
于 2013-08-05T09:27:05.080 回答