内容编写中
函数定义
具名函数表达式
匿名函数表达式
自执行函数(IIFE)
函数是javascript中的一等公民
函数的调用栈
javascript的调用栈( call stack )是一种用来管理函数调用的数据结构,当一个函数被调用时,他会被添加到调用栈的顶部,当函数被执行完毕后,他会被从调用栈中移出。调用栈追寻后进先出的原则
- 调用函数: 当代码执行到一个函数的调用时,该函数的信息(包括函数名和参数)被推送到调用栈的顶部
- 执行函数:被调用函数执行时,他的变量和局部上下文会被推入调用栈
- 嵌套调用:如果一个函数的内部又调用了其他函数,这些函数的信息也会被推送到调用栈的顶部,这样就形成了调用栈的嵌套结构
- 函数返回:当一个函数执行完毕,他会被从调用栈中弹出,控制权回到调用他的函数
- 栈的清空:当所有的函数都被执行完毕,调用栈就会变为空,这通常会发生在主程序执行完毕或者一个事件处理函数执行完毕后
- 如果一个调用栈变得太大(比如由于无限递归),会导致栈溢出。