4

我在变量中引用了对象的属性,是否可以访问该属性所属的对象?

4

2 回答 2

2

除非属性值本身包含对对象的引用。

于 2013-05-18T04:58:25.527 回答
2
var obj = {
    p1: 1,
    p2: function(){
        return this;
    },
    p3: obj,
    p4: function() {
        return obj;
    }
}

// v1 is now integer, we cannot get actual `obj` from this `v1`
var v1 = obj.p1;

// `v2()` returns `window` object (or current context object), 
// so if `obj` is created only in global context (or current 
// context which you're calling `v2()`), you can get reference to `obj`
var v2 = obj.p2;

// as @Ignacio mentioned, you can use `v3` as reference to `obj`
var v3 = obj.p3;

// `v4()` also reference to `obj`
var v4 = obj.p4; 
于 2013-05-18T05:54:05.543 回答