函数声明和函数表达式的区别
文/雨也萧萧
var init = function() { }; 是函数表达式,函数在代码执行的到当前行的时候才被执行,init 才被赋值。function init() {} 是函数声明,和 var 一样,会被提前到代码最前面定义。
函数声明和函数表达式的区别
1).以函数声明的方法定义的函数,函数名是必须的,而函数表达式的函数名是可选的。(函数声明整体会被提升到当前作用域的顶部,函数表达式也提升到顶部但是只有其变量名提升)
2).以函数声明的方法定义的函数,函数可以在函数声明之前调用,而函数表达式的函数只能在声明之后调用。
3).以函数声明的方法定义的函数并不是真正的声明,它们仅仅可以出现在全局中,或者嵌套在其他的函数中,但是它们不能出现在循环,条件或者try/catch/finally中,而函数表达式可以在任何地方声明。
换句话说,函数声明不是一个完整的语句,所以不能出现在if-else,for循环,finally,try catch语句以及with语句中。
小编推荐
1.市场营销和旅游管理哪个专业好 二者有什么区别
2.民办本科和公办本科的区别 应该如何选择
3.专科一定不如本科吗 二者有何区别
4.口腔医学技术和口腔医学区别是什么 就业情况如何
5.财务会计与审计专业有什么区别 哪个好考公务员
6.医学检验和护理哪个更好就业 二者有什么区别
7.格乐大学厉害还是清华厉害 区别是什么
8.泰国格乐大学与吞武里大学谁好 有什么区别
猜你喜欢