你不知道的函数声明和函数表达式的区别

函数声明:

function sum(num1,num2){

           return num1+num2;

}

函数表达式:

var sum =  function(){

              return num1+num2;

}

这两种函数在语法上是等价的,但是解析器在执行环境加载数据时,是有区别的会存在一个变量名提升的,javascript引擎会将函数声明提升到顶部。所以当函数调用出现在函数声明前时,是正确的,

sum(10,20);

var sum =  function(){

              return num1+num2;

}

函数调用出现在函数表达式前则会报错。

猜你喜欢

转载自blog.csdn.net/cgdogn/article/details/81448294