Есть несколько способов решить вашу проблему. Во-первых, постарайтесь понять, почему вы создаете эти функции, и понять требования.
Ожидаемый результат заключается в том, что, когда squarenumber
или halfNumber
вызываются по отдельности, вы хотите отобразить подсказку, в противном случае, если они Вызванный изнутри crazyFunction
, желаемый вывод не должен показывать подсказку.
Итак, мы можем видеть, что флуктуация потока управления находится в момент вызова функции. Поэтому для вас было бы наиболее разумно найти решение этой проблемы на основе переданных аргументов в подфункции squarenumber
и halfNumber
.
Основы c Решение
function crazyFunction(num) {
boolean shouldShowPrompt = false;
let result1 = squarenumber(num, shouldShowPrompt);
let result2 = halfNumber(result1, shouldShowPrompt);
return result2;
}
А затем пример halfNumber
:
function halfNumber(num, shouldShowPrompt ) {
if (shouldShowPrompt) {
num = prompt("Enter a number to be halved");
}
var result = num / 2;
var txt = document.getElementById('halved_answer');
txt.innerHTML = "Half of " + num + " is " + result;
return result;
}
Надеюсь, это поможет.