Javascript中函数声明与函数表达式的不同

  定义函数的方式有两种:一种是函数声明,另一种是函数表达式。

  函数声明的语法如下:

1 function functionName(arg0,arg1,arg2){
2   //函数体  
3 }

  函数表达式的语法如下:

1 var functionName = function(arg0,arg1,arg2){
2 //函数体
3 }

  两者的区别:

  函数声明的特征就是函数声明提升,即执行代码之前js解析器会先读取函数声明,所以如下的代码不会提示错误。

1 sayHi();
2 function sayHi(){
3 alert("Hi!");
4 }

  而函数表达式的形式类似常规的变量赋值语句,创建一个函数(匿名函数)并将它赋值给变量。所以在使用之前必须先赋值,下面的代码会导致错误。

1 sayHi();    //错误:函数还不存在
2 var sayHi=function(){
3 alert("Hi!");
4 }
原文地址:https://www.cnblogs.com/jizhongjing/p/4870099.html