js底层运行机制 代码演示 VO/GO
VO 变量对象
GO 全局对象
ECStack 执行环境栈
EC 全局执行上下文
var a = 12;
var b = a;
b = 13;
console.log(a);
var a = { n: 12 };
var b = a;
b['n'] = 13;
console.log(a.n);
var a = { n: 12 };
var b = a;
b = { n: 13 };
console.log(a.n);
/*
1.创建值
- 开辟一个堆 AAAFFF000
- 储存键值对
name : '你好'
fn : 自执行函数执行,需要把obj.name 的值当做实参传递过来,这个时候obj还没关联 ==》 undefined.name
// Cannot read property 'name' of undefined ==》 undefined不能读name属性
*/
var obj = {
name: '你好',
fn: (function(x) {
return x + 10;
})(obj.name)
};
console.log(obj.fn);
var a = { n: 1 };
var b = a;
a.x = a = { n: 2 };
console.log(a.x); //undefined
console.log(b); /*
var a = { n: 1 };
var b = a;
a.x = a = { n: 2 };
console.log(a.x);
console.log(b); */
a.x = {n : 2} ; // 先创建一个堆 空间AAAFFF111,AAAFFF111 和 a.x 关联
a = {n :2 } ; // 在把 AAAFFF111 和a关联