js中函数宣言与表达式

js中函数声明与表达式
//函数声明:function 函数名(){}


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


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


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


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

!function aaa(){}


/区别:
//1.函数表达式可以直接后面加括号执行,而函数声明是不可以的
//2.函数声明可以被提前解析出来的




//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();





/*
var a = function aaa(){
alert(1);
alert(typeof aaa);  //内部是可以找到的
}


//a();


aaa();  //外面是找不到的*/




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


aaa();










function aaa(){


return bbb();


}


/*function bbb(){
debugger;
}*/


var bbb = (function bbb(){


return function(){
debugger;
}

})();


aaa();

版权声明:本文为博主原创文章,未经博主允许不得转载。