日期:2014-05-16  浏览次数:20498 次

急,在线等!一个回调函数非常纠结的问题....
本帖最后由 zfy2442 于 2014-01-15 12:05:54 编辑

一个非常纠结的问题。

谁能帮我解答一下。

在a里面如何将par的返回值变成1

并且b的alert时能弹出o最新的值。








完整代码如下:

<html> 
<head> 
<title>回调函数(callback)</title> 
<script language="javascript" type="text/javascript"> 
<script type="text/javascript" src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
<script type="text/javascript" >
    function par(o){
        return o;
    }

    function a(callback) {    
        return callback(); 
    } 

    function b(o){ 
        alert("我是回调函数b,传递的参数是" + o);
    }

    function test() { 
    
        a(function (){
            b(par(0));
        }); 
    }
</script> 
</head> 
<body> 
<button onClick=test()>click me</button> 
</body> 
</html>

------解决方案--------------------
我也非常纠结。

该怎么去理解

引用
在a里面如何将par的返回值变成1
并且b的alert时能弹出o最新的值


??


function test() { 
     
        a(function (){
            b(par(0));
        }); 
    }
//由于a是直接运行callback,因此:
function test() { 
     
        (function (){
            b(par(0));
        })();
}

//也就是说test函数相当于只运行了b(par(0));
//par(o) 直接return o;,因此par(0)相当于就是0,
//于是b(par(0))==> b(0) ==> alert("我是回调函数b,传递的参数是" + 0);

//???


???????
好纠结的问题啊!