函数声明会被解析器提升,因此被调用的函数声明可以写在调用函数的前面或者后面;而函数表达式则不会,必需写在调用函数的前面。除此之位它们的用法完全一致。
- 函数声明
func("succeed");
function func(state){
alert("state:"+state);
}
上面第一行是调用函数,第二到四行是声明函数写法,这样写编译器是可以通过的。 - 函数表达式
func("succeed");
var func=function(state){
alert("state:"+state);
}
上面第一行是调用函数,第二到四行是函数表达式写法,但是将函数表达式写在下面是错误的,编译器无法通过。
网友评论