获取全平台学习资源
JS函数调用栈
- 什么是调用栈
- JS引擎在调用个函数前,需要把函数所在的环境push到一个数组里,这个数组就是调用栈
- 等函数执行完,就会把环境弹出(pop)出来
- 然后return到之前的环境,继续执行后去代码
- 如果调用栈中压入的帧过多,程序就会崩溃 ----- 爆栈
函数声明提升
- 什么是函数提升
function fn(){}
//不管班具名函数卸载第几行,他都跑到第一行上
let fn = function(){}
//这个赋值,右边的匿名函数声明不会提前
arguments
- 什么是arguments
- 当每一次函数调用时都会产生一个arguments的类数组对象,他枚举了函数中形式参数
- 可以使用 xxx.call(this,1,2,3) // 第一个参数指定this指向,后面的参数就是arguments枚举的参数
箭头函数
- 箭头函数没有有this