<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<script type="text/javascript">
/*************** 回调**********************************/
function A(callback){
alert('先执行A');
B(callback);
alert('执行到A底部');
}
function B(callback){
alert('执行B');
var m = 1;
var n = 2;
console.log(callback(m,n));
}
function C(m,n){
alert('执行C');
alert( m+n);
return m+n;
}
A(C);
//内存块分配:
// 一. 栈顶分配给A,执行A函数。这个时候作为C函数作为参数不做解析没有获得内存块。
// 二. 栈顶分配给B,执行B,然后此时末尾调用了C,此时C获得内存块,相当于回头访问了本应该在A的时候就要执行的C。
// 顺序是A到B然后到C。
/**************************************************************/
// 一.普通调用顺序:a>c>b
function A(){
alert('先执行A');
var res=C(1,2);
B(res);
alert('执行到A底部');
}
function B(callback){
alert('执行B');
alert(callback);
}
function C(m,n){
alert('执行C');
// alert( m+n);
return m+n;
}
A();
</script>
<body>
</body>
</html>
本人对回调的一点拙见,如果不对的话请高手们留言,指出我的不足。如果是对的,欢迎转载。