一:函数声明中的函数名是必须的 ,函数表达式中函数名是可选的
function add(a,b) {
return a+b
}
let sum=function(a,b){
return a+b
}
二:函数声明的函数可以在函数声明前就被调用,而函数表达式定义的函数只能在声明之后调用
因为两种方式定义的函数的解析方式不同,解析器会事先读取函数声明,即函数声明放在任意位置都可以被调用
而函数表达式,解析时函数变量名会提前,但是函数体还在原来的位置,只有读取到函数体的时候才会初始化函数