js函数生命周期

JavaScript033

js函数生命周期,第1张

老师讲课内容:

函数生命周期:

1. 开始执行前:

创建执行环境栈(数组): 临时保存正在执行的函数的执行环境

向执行环境栈中压入第一个默认函数main()

创建全局作用域对象window

2. 定义函数时:

创建函数对象,封装函数定义

声明函数名变量,引用函数对象

函数对象的scope属性引用回创建函数时的作用域

3. 调用函数时:

ECS中压入一个新的元素(执行环境)记录新函数的调用

创建一个活动对象,保存本次函数调用用到的局部变量

ECS中的新执行环境元素,引用活动对象

活动对象中的parent属性引用函数的scope指向的父级作用域对象

执行过程中: 优先使用活动对象中的局部变量

局部没有,才延parent向父级作用域找

4. 函数调用后:

执行环境栈中本次函数的执行环境出栈

导致活动对象被释放

导致局部变量一同释放

图示:

前三步

第四步

需要准备的材料分别是:电脑、html编辑器、浏览器。

1、首先,打开html编辑器,新建html文件,例如:index.html。

2、在index.html的<script>标签中,再输入js代码:var a = 1, b = 2a = undefineddocument.body.innerText = 'a='+a+',b='+b。

3、浏览器运行index.html页面,此时发现变量a被销毁了。