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