参数是函数,返回回调函数的结果?
<script>
function fn2(_fn){
var obj = {};
return _fn(obj);
}
function fn3(_obj){
_obj.a=10;
return _obj;
}
var obj=fn2(fn3);
console.log(obj);
</script>
分析:调用fn2,把fn3函数作为参数传入fn2,fn2函数里创建一个obj空对象,然后执行到return语句,该语句相当于调用fn3(obj),然后跳转到fn3函数,fn3函数执行后返回的是一个对象obj{ a:10 } ,即fn2返回的是obj { a:10 }