javascrip 函数声明和函数表达式
//函数声明: function 函数名(){}; //函数表达式: function 函数名(可写可不写)(){};命名函数表达式,匿名函数表达式 function aaa(){} // 函数声明: 依据上下文判断是否是函数声明 var a=function aaa(){} //命名函数表达式 var a=function (){} //匿名函数表达式 //函数表达式还有以下类型: (function aaa(){}) ~function aaa(){} -function aaa(){} +function aaa() {} !function aaa(){} //函数表达式和函数声明的区别: //1:函数表达式是可以在后加括号执行,而函数声明不可以。 var a=function aaa(){alert(1);}(); //1 //2:函数声明是可以提前被解析出来的。 if(true) { function aaa() { alert(1); } }else { function aaa() { alert(2); } } aaa() //火狐下弹出1 IE下弹出2 //换成函数表达式都弹出1 if(true) { var a=function aaa() { alert(1); } }else { var a=function aaa() { alert(2); } } a() //1 aaa() //IE8以下版本: 弹出1 火狐:报错