如何将js函数作为参数发送到另一个函数?

时间:2012-08-07 18:46:34

标签: javascript

我有以下代码

function exec(param1,p2,fun){
    xmlhttp=new XMLHttpRequest();
    xmlhttp.onreadystatechange=function(fun){
        data=xmlhttp.responseText;
        fun(data);
    }
    // rest ajax connection code
}

当我打电话

 exec(param1,param2,
    function(data){
      alert (data);
    });

它说

  

对象不是函数

在第fun('test');行的定义中

任何想法?

1 个答案:

答案 0 :(得分:1)

您在较窄的范围内覆盖fun新的<{1}}:

function exec(param1,p2,fun){
                        ^^^  - The function you pass

xmlhttp.onreadystatechange=function(fun){
                                    ^^^ - new variable (possibly an event object)

更改其中一个变量名,这样就不会在回调函数中屏蔽它。