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

函数声明会被解析器提升,因此被调用的函数声明可以写在调用函数的前面或者后面;而函数表达式则不会,必需写在调用函数的前面。除此之位它们的用法完全一致。

  • 函数声明
    func("succeed");
    function func(state){
    alert("state:"+state);
    }
    上面第一行是调用函数,第二到四行是声明函数写法,这样写编译器是可以通过的。
  • 函数表达式
    func("succeed");
    var func=function(state){
    alert("state:"+state);
    }
    上面第一行是调用函数,第二到四行是函数表达式写法,但是将函数表达式写在下面是错误的,编译器无法通过。

你可能感兴趣的:(函数声明和函数表达式的区别)