函數(shù)基本概念:
function box(){} //函數(shù)聲明
var box = function(){}; //函數(shù)表達(dá)式
function(){} //匿名函數(shù):屬于函數(shù)表達(dá)式
1.匿名函數(shù)的作用:如果將匿名函數(shù)賦值給一個變量,則聲明了一個函數(shù):
var box= function(){};
2.如果將匿名函數(shù)賦予一個事件則成為事件處理程序:
box.addEventListener("click",function(){alert("aaa")});
函數(shù)定義的三種方法:
var box = function(){};
function box(){}
var box = new Function();
函數(shù)聲明和函數(shù)表達(dá)式的不同:
1.js在進(jìn)行預(yù)解析時函數(shù)聲明會提升基协,而函數(shù)表達(dá)式必須js順序執(zhí)行到此函數(shù)代碼時才會逐行解析逸邦,只能以box()的方式調(diào)用才行
//函數(shù)聲明
var box=function(){
alert('我愛北京天安門')
}
//函數(shù)調(diào)用
box()
2.函數(shù)表達(dá)式后面加括號可以立即執(zhí)行函數(shù)渣窜,函數(shù)聲明不可以立即執(zhí)行器一,
(function (w) {
alert(w)
}(window))
自執(zhí)行函數(shù):立即調(diào)用的函數(shù)表達(dá)式
寫法1:
(function (w) {
alert(w)
})(window)
寫法2 (推薦)
(function (w) {
alert(w)
}(window))
寫法3 (~,+祭饭,-芜茵,!都可以)
~function (w) {
alert(w)
}(window)