首页 > 解决方案 > 调用高阶函数后的奇怪结果

问题描述

let myName = "john";

function morning(name){
  return`my name is ${name}`;
}

function pleasure(){
  return `and it is nice to meet you`;
}

function greet(name, callBack, callBack2){
  console.log(`Good Morning, ${callBack(name)} ${callBack2}`);
}

greet(myName, morning, pleasure);

为什么结果是这样的?

Good Morning, my name is john function pleasure(){
  console.log(`and it is nice to meet you`); ;
}

标签: javascript

解决方案


你没有调用你的第二个函数

function greet(name, callBack, callBack2){
    console.log(`Good Morning, ${callBack(name)} ${callBack2()}`); // forgot the parenthesis on callback2
}


推荐阅读