高三网 试题库 作文库 大学库 专业库

当前位置: 高三网 > 大学动态 > 正文

函数声明和函数表达式的区别

2021-06-02 15:33:31文/薛雨彤

var init = function() { }; 是函数表达式,函数在代码执行的到当前行的时候才被执行,init 才被赋值。function init() {} 是函数声明,和 var 一样,会被提前到代码最前面定义。

函数声明和函数表达式的区别

函数声明和函数表达式的区别

1).以函数声明的方法定义的函数,函数名是必须的,而函数表达式的函数名是可选的。(函数声明整体会被提升到当前作用域的顶部,函数表达式也提升到顶部但是只有其变量名提升)

2).以函数声明的方法定义的函数,函数可以在函数声明之前调用,而函数表达式的函数只能在声明之后调用。

3).以函数声明的方法定义的函数并不是真正的声明,它们仅仅可以出现在全局中,或者嵌套在其他的函数中,但是它们不能出现在循环,条件或者try/catch/finally中,而函数表达式可以在任何地方声明。

换句话说,函数声明不是一个完整的语句,所以不能出现在if-else,for循环,finally,try catch语句以及with语句中。

推荐阅读

点击查看 大学动态 更多内容