急,在线等!一个回调函数非常纠结的问题....
一个非常纠结的问题。
谁能帮我解答一下。
在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>
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);
//???
function par(o){
return o+1;//这样??如果真是这样,那这叫啥问题呀.....
}
function a(callback) {
return callback();
}
function b(o){
alert("我是回调函数b,传递的参数是" + o);
}
function test() {
a(function (){
b(par(0));
});
}
function par(o) {
return o;
}
function a(callback) {
var num;
//进行了一系列操作
num = 1;
return callback(num);
}
function b(o) {
alert("我是回调函数b,传递的参数是" + o);
}
function test() {
a(function (o) {
b(par(o));
});
}