var test = 333;
var obj = {
a:test,
b:function () {
test=222;
return test;
}
};
var test = 111; console.log(test);
console.log(obj.a);
console.log(obj.b());
console.log(obj.a);
console.log(test);
}
var obj = {
a:test,
b:function () {
test=222;
return test;
}
};
var test = 111; console.log(test);
console.log(obj.a);
console.log(obj.b());
console.log(obj.a);
console.log(test);
}
var obj = {
a:test,//test的值是333,obj.a也是333
b:function () {//这个函数内的代码要在调用obj.b()时才执行
test=222;
return test;
}
};
var test = 111;//test重新赋值111,obj.a不受影响 console.log(test);//test是111
console.log(obj.a);//obj.a是333
console.log(obj.b());//这时调用obj.b(),test重新赋值222
console.log(obj.a);//obj.a还是333
console.log(test);//test是222
b函数里的test就是全局变量。修改的就是全局test的值。
a:333,
...
}
被创建的时候实际上就是这样了 之后除非你重新给obj.a赋值 否则是不会发生变化的