关于函数的定义和调用

1.从浅显层面来看

定义阶段:声明一个函数

调用阶段:执行一个函数内的代码

2.函数的两个阶段的特点

定义阶段:function 关键字 或者箭头(=>)声明了一个函数空间,里面存储了一段代码

调用阶段:new函数名 或者 函数名(),调用了函数,把存储在函数空间内的代码执行

重点: 函数两个阶段做的事情

(1)定义阶段

1.在堆空间内存开辟一段存储空间

2.把函数里面的代码转换成字符串存储在该空间内,此时并不会解析变量

3.把函数存储空间的地址进行变量赋值

(2)调用阶段

1.根据变量名去找到对应的函数存储空间

2.在调用栈(callstack)内开辟一段新的函数执行空间

3.在执行空间内进行函数的形参赋值

4.在执行空间对函数进行预解析

5.把存储空间内的字符串拿过来当当做js代码完整执行一遍,此时才开始解析变量

6.当函数体内的代码执行完成,开辟的执行空间销毁

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值