您的位置:首页 > Web前端 > JavaScript

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

2013-05-17 11:46 381 查看
简单的JS自定义方法对象示例
  function a1(){
alert("a1a1a1a1a1");
}
function a2(){
alert("a2a2a2a2a2a2");
}
/*
//方法1
function bbb(methodName){
//初始化this.func属性,
this.func = function(){};
try{
  //这里用eval方法,把我们传进来的这个方法名所代表的方法当作一个对象来赋值给bbb的func属性。如果找不到methodName这个对应的对象,
          则eval方法会抛异常
this.func = eval(methodName);
}catch(e){
alert("找不到"+methodName+"()这个方法");
}
}
//如何调用,因为方法需要对象来调用,所以我们new 了一个bbb对象; js中,一个方法也可以看做是一个对象. 然后我们通过调用对象的属性,来调用我们    传入的方法
var test = new bbb("a1");
test.func();
*/
//方法2, 比较简洁
function ccc(methodName){
this.func = new Function(methodName+"();");
}
//如何调用

var cTest = new Function("a2"+"();");
try{
cTest();
}catch(e){
alert("找不到方法");
}
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);  }
  
                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: