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']返来的是一个结果。