JavaScript函数声明与函数表达的区别
在JavaScript中有两种声明函数的方式:函数声明式、函数表达式。
函数声明式
function 函数名(){函数体};
函数声明式会变量提升,意味着函数声明的函数会出现在程序顶部,即在函数声明的前后都可以调用函数。
console.log(print() ? "调用成功" : "调用失败"); //调用成功
function print() {
return true;
}
console.log(print() ? "调用成功" : "调用失败"); //调用成功
函数表达式
var 变量名 = function 函数名可选(){函数体};
函数表达式不会变量提升,意味着只能在函数声明的之后调用函数。
console.log(foo ? "调用成功" : "调用失败"); //调用失败
var foo = function () {
return true;
}
console.log(foo ? "调用成功" : "调用失败"); //调用成功