重温红宝书之第四章,理解变量、执行环境、执行流

1.变量:
(1)只能给引用类型值动态的添加属性,若是给基本类型进行动态添加属性,则会出现undefined。
(2)引用类型的赋值,两个变量实际上将引用同一个对象,存在堆内存中,变量名存在栈内存中,保存的是对象 的指针,实际值在堆内存中。
重温红宝书之第四章,理解变量、执行环境、执行流
例如:
var i = new Object();i实际上保存的是对象的指针。

2.执行环境:
每个函数都有自己的执行环境,执行流进入函数时,函数的环境就会被推入环境栈中,当代码在一个环境中执行,会创建自己的作用域链。

3.执行流:
执行文上下栈:
每一种代码的执行都需要依赖自身上下文,好比一个函数调用另一个函数,实现方式是栈。
程序开始–>进入全局执行上下环境–>初始化对象和**一些方法(初始化)–>等待用户点击触发一些方法,进入新的上下文环境。