javascript中方法作为参数来处理,自定义方法对象

简单的JS自定义方法对象示例

 1   function a1(){
 2         alert("a1a1a1a1a1");
 3     }
 4     function a2(){
 5         alert("a2a2a2a2a2a2");
 6     }
 7     /*
 8     //方法1
 9     function bbb(methodName){
10         //初始化this.func属性,
11         this.func = function(){};
12         try{
13           //这里用eval方法,把我们传进来的这个方法名所代表的方法当作一个对象来赋值给bbb的func属性。如果找不到methodName这个对应的对象,
则eval方法会抛异常 14 this.func = eval(methodName); 15 }catch(e){ 16 alert("找不到"+methodName+"()这个方法"); 17 } 18 } 19 //如何调用,因为方法需要对象来调用,所以我们new 了一个bbb对象; js中,一个方法也可以看做是一个对象. 然后我们通过调用对象的属性,来调用我们    传入的方法 20 var test = new bbb("a1"); 21 test.func(); 22 */ 23 //方法2, 比较简洁 24 function ccc(methodName){ 25 this.func = new Function(methodName+"();"); 26 } 27 //如何调用
28 var cTest = new Function("a2"+"();"); 29 try{ 30 cTest(); 31 }catch(e){ 32 alert("找不到方法"); 33 }

Ajax中将方法作为参数传入示例

//待调用的方法示例
function ajax(url,param,datatype,funcName){ $.ajax({   method: 'get',   url:url,   contentType: "application/json; charset=utf-8",    data:param,   dataType: datatype,   cache: false,   success: funcName }); }
//调用示例

  ajax('mobile/zh/service/eguide/list/yy/1/4.json','name=jack&age=20','json',cell)

  function cell(xhr)

  {

    response=xhr.begin;

    alert(response);

  }