1. 程式人生 > >js 寫自定義回撥函式callback

js 寫自定義回撥函式callback

第一種形式:

/*
* 構造回撥函式
* @param:p1
* @param:callback  回撥函式
*/
function testfn(p1 ,callback) {
	console.log('呼叫第一次函式-->'+p1);
	if(callback){
		callback(p1);
	}
}
//回撥函式
function testcallback(p){
	console.log('回撥函式test1-->'+p);
}
//呼叫
testfn('我是引數',testcallback); //呼叫第一次函式-->我是引數     回撥函式test1-->我是引數

第二種形式:

/*
* 構造回撥函式
* @param:p1
* @param:p2
* @param:callback  回撥函式
*/
function add_callback(p1, p2 ,callback) {
    var my_number = p1 + p2;
	console.log('呼叫函式--> '+p1+'+'+p2+'='+my_number);
	if(callback){
		callback(my_number);
	}
}

//呼叫:
add_callback(5, 15, function(num){
    console.log("回撥函式--> " + num);
});//呼叫函式--> 5+15=20  回撥函式--> 20

第三種形式:

/*
* 構造回撥函式
* @param: json  json格式
*/
function jsonCallback(json){
	if(json){
		if(json.name){
			console.log("回撥函式--> "+json.name);
			if(json.callback){
				json.callback(json.name);
			}
		}
	}
}
//呼叫:
jsonCallback({
	name:'stonefly',
	callback:function(name){
		console.log('my name is '+name);
		document.write('my name is '+name);
	}
})//呼叫函式--> stonefly     my name is stonefly