js函数声明和表达式

//函数声明:function 函数名(){}

//函数表达式: function 函数名(可写可不写的)(){} : 命名函数表达式 匿名函数表达式

//function aaa(){} : 函数声明

//var a = function aaa(){} : 命名函数表达式
//var a = function(){} : 匿名函数表达式

(function aaa(){}) : 表达式
~function aaa(){}
-function aaa(){}
+function aaa(){}
!function aaa(){}

--------------------------------------
//区别:
//1.函数表达式可以直接后面加括号执行,而函数声明是不可以的
//2.函数声明可以被提前解析出来的,火狐弹出1,ie弹出2(函数表达式都弹出1,不会预解析)。


//function aaa(){ alert(1); }();

//var a = function aaa(){ alert(1); }();

//~function aaa(){ alert(1) }();


/*if(true){
function aaa(){
alert(1);
}
}
else{
function aaa(){
alert(2);
}
}

aaa();*/


if(true){
var a = function aaa(){
alert(1);
}
}
else{
var a = function aaa(){
alert(2);
}
}

a();//可以

aaa();//火狐会报错。ie下可以

posted @ 2019-02-20 13:30  程序员小明1024  阅读(298)  评论(0编辑  收藏  举报