通过指针调用带有参数的Javascript函数?

Cra*_*lot 1 javascript ajax jquery javascript-events

如何在使用函数指针传入参数的同时调用Javascript中的函数?

例:

function foo (a, callback) {    
        jQuery.post('/soon/check.json', { var:a }, function(resp) {
             callback(resp);
    }); 
}

function process_json(resp) {
  // Do something with resp
}

foo(bar, process_json);
Run Code Online (Sandbox Code Playgroud)

永远不会调用"process_json".在Firebug中,字符串"process_json"被传递到"foo",但我认为它代表了一个指向函数"process_json"的指针.

在Javascript中,是不是可以通过指针调用函数并传入参数?

Mat*_*all 6

在Javascript中,是不是可以通过指针调用函数并传入参数?

它当然可以做到这一点.你的代码的一切看起来都很好.你确定$.post()正在调用回调(匿名函数)吗?调用bar时是否未定义foo

为了澄清,我们需要使用字符串来调用函数 - 而不是函数指针.这可能吗?

是.如果函数是全局定义的,则可以将其作为window对象的属性调用,如下所示:

function foo () { /* snip */ }

var fn_name = 'foo';

window.foo();       // works
window['foo']();    // works
window[fn_name]();  // also works
Run Code Online (Sandbox Code Playgroud)