Javascript 将匿名JS函数作为回调传递

Javascript 将匿名JS函数作为回调传递,javascript,callback,higher-order-functions,Javascript,Callback,Higher Order Functions,我试图理解JS中的回调。下面是我目前正在使用的示例: getData('http://fakedomain1234.com/userlist', writeData); document.getElementById('output').innerHTML += "show this before data ..."; function getData(dataURI, callback) { // Normally you would actually connect to a s

我试图理解JS中的回调。下面是我目前正在使用的示例:

getData('http://fakedomain1234.com/userlist', writeData);

document.getElementById('output').innerHTML += "show this before data ...";

function getData(dataURI, callback) {
    // Normally you would actually connect to a server here.
    // We're just going to simulate a 3-second delay.
    var timer = setTimeout(function () {
        var dataArray = [123, 456, 789, 012, 345, 678];
        callback(dataArray);
    }, 3000);
}

function writeData(myData) {
    document.getElementById('output').innerHTML += myData;
}
我的问题是:是否可以将匿名函数传递给
getData()
,而不是已定义的函数?如果是这样,你会怎么做

提前感谢

就像你说的:

getData('http://fakedomain1234.com/userlist', function(data) {
    // contents of anonymous function
});

就像传递给
setTimeout

getData('http://fakedomain1234.com/userlist', function(myData) {
  document.getElementById('output').innerHTML += myData;
});

哦如果这是我传递函数的方式,那么它仍然可以以同样的方式在getData中调用吗?我很难想象,当你将匿名函数作为变量传递时,它与传递定义的函数完全一样。谢谢你的澄清!这里的技巧是,您可以编写匿名函数来代替回调参数。语言允许这样做,在相同的位置定义和传递lambda函数。确实如此,您尝试过了吗?是的,现在我尝试过了。现在感觉比我想象的简单多了。