【JS】JS引用类型指针

先看下下面这个例子:

var test = 111;
var obj = {
    a:test,
    b:function () {
        test=222;
        return test;
    }
};
console.log(obj.a);   //111
console.log(obj.b());   //222
console.log(test);   //222
console.log(obj.a);   //111

在调用obj.b()这个方法后为什么obj.a的值没变呢?

下图是我的理解:


第一行代码,给test赋值111,即test指向对象A。在对象obj中,a的值为test,即a也指向对象A,值为111。

在调用对象obj的方法b之后,test被赋值为222,即test现在指向对象B。此时a还是指向对象A,值不变,为111。



猜你喜欢

转载自blog.csdn.net/amyleeymy/article/details/79410251