//函数声明可以使函数的调用在函数之前提前调用 function a() { console.log("a"); } //函数表达式必须在编译器读取完函数表达式后才能调用函数 var b=function () { console.log("b") } //函数声明的自执行必用()将函数声明括起来后自执行 (function a() { console.log("a"); })() //函数表达式可以直接自执行,不需要加() var b=function () { console.log("b") }()
1.Javascript 中函数声明和函数表达式是存在区别的,函数声明在JS解析时进行函数提升,因此在同一个作用域内,不管函数声明在哪里定义,该函数都可以进行调用。
而函数表达式的值是在JS运行时确定,并且在表达式赋值完成后,该函数才能调用。
2.函数声明可以先调用再声明,而函数表达式必须先定义再调用