Я сделал квадрат функции (который возвращает квадрат числа) и передал его другой функции.
var num = 5;
function square(x){
return x*x;
}
function display(fn){
console.info(fn())
}
display(function(){square(num)});
Он не возвращает мне это квадратичное значение в функции отображения, вместо этого он возвращает мне «undefined».
func 1 shoud return func2(param)



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вам не нужно использовать function(){} для вызова вашей функции.
Он используется только для определения функции.
Кроме того, вы можете просто использовать переменную fn для входа в консоль, вам не нужно использовать fn().
var num = 5;
function square(x){
return x*x;
}
function display(fn){
console.info(fn)
}
display(square(num));
Также возможно вернуть значение в переменную, если это облегчит вам чтение:
function square(x){
return x*x;
}
function display(fn){
console.info(fn)
}
var num = 5;
var calculationResult = square(num);
display(calculationResult);
Как это вернуть square(num)? display ничего не возвращает.
Функция squire возвращает значение (на данный момент 25) в функцию отображения. Итак, fn = 25. Это приводит к console.info(25)
Здесь. Вам просто нужно вернуть square(num) внутри функции display.
var num = 5;
function square(x){
return x*x;
}
function display(fn){
console.info(fn());
}
display(function(){
return square(num);
});Здесь вы теряете возвращаемое значение:
display(function(){square(num)})
Вы либо должны его вернуть:
display(function(){ return square(num)})
или вы используете стрелочную функцию
display(() => square(num));
или вы привязываете функцию:
display(square.bind(null, num));
display(function(){square(num)});
В вашем коде просто напишите ключевое слово возвращение.
display(function(){return square(num)});
Приведенный выше код будет работать нормально
Функция, которую вы передали
display, ничего не возвращает, поэтомуundefined. поменять наreturn square(num)