名词解释:
(1)执行环境栈:ECStack(为代码执行提供了环境) (2)执行代码过程中为了区分是在哪个环境下执行,会产生执行上下文:
+ EC(G)全局执行上下文(只能在浏览器页面关闭的时候释放)
+ EC(X)某个函数的执行上下文
(3)VO(G)(variable object)全局变量对象
(4)GO(global object)全局对象(供浏览器JS调用的全局API)
window提供的基本上是BOM模型的东西
1、 JS运行的环境:
* + 浏览器
* + webview WebApp(Hybride混合APP)
* + node.js
* + ...
2、浏览器能够运行JS代码,是因为提供了代码运行的环境:栈内存(Stack)
* + 栈内存也是从计算机的内存分配出来的一块内存
* + 执行环境栈 E(execution)C(context)Stack
3、执行代码的过程中,为了区分是在哪个环境下执行(全局/函数/块...),首先会产生一个执行上下文:EC
* + EC(G) 全局上下文,全局代码在这执行
* + EC(X) 某个函数的执行上下文
4、分析代码(基本类型值)
5、分析代码(引用类型)
6、题目
执行的顺序:
1、a.x = a = {n: 2}
a.x = {n: 2}
==> a = {n: 2}