区别:解析器会率先读取函数声明,并使其在执行任何代码之前可用(可以访问),至于函数表达式,则必须等到解析器执行到它所在的代码行,才会真正被解释执行。
例:
函数声明:
alert(sum(10,10);
function sum(a,b){
return a+b;
}
以上代码正常运行。
函数表达式:
alert(sum(10,10));
var sum = function(a,b){
return a+b;
}
以上代码运行期间产生错误。
区别:解析器会率先读取函数声明,并使其在执行任何代码之前可用(可以访问),至于函数表达式,则必须等到解析器执行到它所在的代码行,才会真正被解释执行。
例:
函数声明:
alert(sum(10,10);
function sum(a,b){
return a+b;
}
以上代码正常运行。
函数表达式:
alert(sum(10,10));
var sum = function(a,b){
return a+b;
}
以上代码运行期间产生错误。