javascript匿名函數,就是說個函數沒有名字,下面先列出測試代碼
複製代碼 代碼如下:
/*
* 一般常見函數是這樣
*/
function debug(data) {
console.log(data);
}
但有的函數,它卻偏偏寫成了這樣
複製代碼 代碼如下:
(function(x, y) {
debug(x + y);
})
上面就是所說的匿名函數了
複製代碼 代碼如下:
var fun = null;
(function() {
var test = function(x ,y ) {
debug(x +y);
}
fun =test;
})();
這個時候你在瀏覽器的控制台輸入fun ,你會發現它列印出 function(x, y){ debug(x +y);} 好明顯這就是一個函數了,如果你輸入 fun(1, 2); 這個時候就列印出3了。下面來看看種類型。
複製代碼 代碼如下:
var U = {
uid: 32812,
gameList: (function(){
var list = new Array();
list[7]= '360';
list[6]='baidu';
if(list != 'null'){
return list;
}
}
)(),
serverList: (function(){
var list = new Array();
list[1188]='360';
list[1165]='baidu';
if(list != 'null'){
return list;
}
}
)(),
channelList: (function(){
var list = new Array();
list[9]='手遊網';
return list;
}
)(),
searchName : function(t,id){
if( id == false || /^\d+$/.test(id) == false ){
return '這是一個函數';
}else if(eval(t).hasOwnProperty(id)){
return eval(t)[id];
}else{
return 'test';
}
}
};
這個時候,你在控制台中輸入U;你會發現這是一個數組。U['searchName ']是一個函數, U['qudaoList']返來的是一個結果。