函数声明:
function a(){
console.log("hello world");
}
函数表达式:"var a="后面的就是函数表达式
var a=function (){
console.log("hello world");
}
两者主要的区别就是声明提前
函数声明不仅会提升声明,还会提升定义.
test() // 调用成功
function test() {}
而函数表达式只会提升声明,不会提升定义
test() // 有test这个变量,但它却不是函数,所以调用失败
var test= function() {}
另外提一点,同样都是声明提前,函数声明提前的优先级要高于变量声明提前,举个栗子!
var test=function(){
console.log("php是世界上最好的语言")
}
function test(){
console.log("JAVA是世界上最好的语言")
}
test() //输出"php是世界上最好的语言"