简单的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);
}