Javascript 纯JS中的函数回调

Javascript 纯JS中的函数回调,javascript,jquery,Javascript,Jquery,我们可以在jquery中这样做,但我从来不理解它在原生JS中是如何工作的 function init(){ return $.ajax({ 'type':POST, 'url':'example.com' }) init.success(function(data){ data }); 我们如何用纯JS编写回调?所以我可以这样使用它: myFunction('myparam',function(){ return 'this is myFunction callback'; }

我们可以在jquery中这样做,但我从来不理解它在原生JS中是如何工作的

function init(){

 return $.ajax({
 'type':POST,
 'url':'example.com'

})

init.success(function(data){
data
});
我们如何用纯JS编写回调?所以我可以这样使用它:

myFunction('myparam',function(){
return 'this is myFunction callback';
}

在Javascript中,一个函数可以像其他参数一样传递给另一个函数。函数可以在以后使用它,只要需要就调用它。 这在回调函数中非常常见

例如:

function checkName(name, callbackFn){
  if(name == "Alice"){
    callbackFn("Great Name!");
  }
  else {
    callbackFn("Wrong name");
  }
}
电话可以是:

checkName("Alice", function(message){
  alert(message);
});
这种编程对于异步任务(如Ajax调用)非常有用,因为处理函数可以在任务完成时调用回调函数


使用回调函数是一种与函数编程相关的方法,函数作为参数在更高级别的函数之间传递。在新的JS规范(ES2015)中,实现这一目标的另一种方法是使用,这只能在任务完成时解决。

函数myFunction(param1,callback){/*…*/if(typeof callback==“function”){callback();}
@Andreas callback()是内置函数吗?要在执行时调用父函数?这只是参数的名称,当它是函数时,它将在
if
分支中执行。名称完全由您决定。但是如果回调有特定的目的,我会相应地调用它
success
/
onsucces
error
/
onerror
done
。。。通过
回调
几乎每个开发人员都知道它是一个用于传递函数的参数,该函数将作为最后一步执行。顺便说一句,回调和承诺的主要区别是什么?@AliceXu它们之间的共同点是什么?它们是完全不同的概念。@AliceXu它们都可以用于相同的目的(控制异步操作),但它们代表两个非常不同的概念。