JS函数--调用栈

JS函数调用栈

  • 什么是调用栈
    • JS引擎在调用个函数前,需要把函数所在的环境push到一个数组里,这个数组就是调用栈
    • 等函数执行完,就会把环境弹出(pop)出来
    • 然后return到之前的环境,继续执行后去代码
    • 如果调用栈中压入的帧过多,程序就会崩溃 ----- 爆栈

函数声明提升

  • 什么是函数提升
function fn(){}
//不管班具名函数卸载第几行,他都跑到第一行上

let fn = function(){}
//这个赋值,右边的匿名函数声明不会提前

arguments

  • 什么是arguments
    • 当每一次函数调用时都会产生一个arguments的类数组对象,他枚举了函数中形式参数
    • 可以使用 xxx.call(this,1,2,3) // 第一个参数指定this指向,后面的参数就是arguments枚举的参数

 

箭头函数

  • 箭头函数没有有this

你可能感兴趣的:(JS函数--调用栈)