函数表达式:声明一个变量 将函数作为赋值 调用时通过变量名进行调用
函数表达式是可以进行常规的函数运算的
匿名函数:就是指没有函数名或者没有声明的函数
自调用函数:也可以叫做自执行函数 匿名函数的另一种用法 在小括号内包裹一个匿名函数
调用时 直接用小括号去调用 表示调用了整个匿名函数 同时执行了函数体
回调函数:将一个函数 作为实参 赋值给另一个函数的形参 并在函数内部调用 这种函数被称为是回调函数
1.首先会先执行f1的调用 将10作为a的实参赋值 并输出10这个结果
2. 将f2整个函数 作为实参赋值给fn 同时fn在函数内部调用 执行了f2函数的结果
如果其中一个函数不存在 无法作为参数被另一个函数调用 在页面控制台会报错 表示未被定义的
作用域:
全局作用域:表示在页面任何位置都可以访问
全局变量:在全局作用域下声明的变量 可以在全局访问这个变量 全局变量可以被局部作用域访问
局部作用域:只能在局部作用域下访问
局部变量:在局部作用域下声明的变量 局部变量无法 在全局使用
全局作用域&全局变量和局部作用域&局部变量的区别
以大括号为标准 大括号内部为局部作用域 大括号外部是全局作用域
预解析:代码在浏览器运行时 会提前把初始声明的变量 和函数声明提升到当前作用域的最顶端
变量提升:预解析会先把声明的变量提升到当前作用域的顶端 赋值留在原地 从上向下执行
函数提升:
原文:https://www.cnblogs.com/Aini/p/13603180.html