众所周知,JavaScript中声明函数可以用函数声明形式,也可以用函数表达式形式。本文介绍一下两者区别。
函数声明:
alert(sum(10,10));
function sum(num1,num2){
return num1 +num2;
}
以上代码正确执行。因为在代码开始执行之前,解析器就已经通过一个名为函数声明提升的过程,读取并经函数声明添加到执行环境中。所以,即使声明函数的代码在调用它的代码后,JavaScript引擎也能把函数声明提升到顶部。
函数表达式:
alert(sum(10,10));
var sum = function(num1,num2){
return num1 +num2;
}
以上代码执行错误。因为在执行到函数所在的语句之前,变量sum中不会保存对函数的引用。