gpt4 book ai didi

javascript - 为什么我不能从 JavaScript 中的另一个函数调用一个函数?

转载 作者:行者123 更新时间:2023-12-02 14:25:29 25 4
gpt4 key购买 nike

<!DOCTYPE HTML>

<head>
<title>
Math game</title>
</head>

<body onload = "guess()">

<script>

function guess(){
var userGuess = prompt("Guess a positive number less than 50");
var userRandomNumber = Math.floor(Math.random() * 49) + 1;
check(userGuess,userRandomNumber);
}

</script>

<script>

function check(guess,randomNumber){

if(parseInt(guess)<0 ){
alert('Please enter a number in the given range');
guess();
}else if(parseInt(guess)>=50){
alert('Please enter a number in the given range');
guess();
}
else if (parseInt(guess) === randomNumber ) {
alert('You guessed the number!');
} else if(parseInt(guess) > randomNumber ) {
alert('Sorry. The number was ' + randomNumber);
}else{
alert('Sorry. The number was ' + randomNumber );
}
}
</script>

</body>
</html>

所以这是一个猜数字的游戏,如果用户输入的数字超出范围,我想提示用户再次输入数字。所以我想从 check() 函数调用guess() 函数。但是这个代码不会给出结果。我需要像在 Java 中那样创建一个guess类型的对象吗?如果是这种情况,那么我该如何正确创建该对象呢?任何帮助表示感谢 =)

最佳答案

简短回答

重命名参数 guess在你的check功能到其他任何东西。

详细答案

您的 <em>check</em> 中的争论函数 guess 正在创建一个名为 guess 的变量 在函数的局部范围内。

当您将其名称更改为其他名称时,请说 guessnumber 。它不会找到 guess 在函数的本地作用域中,并将尝试访问父作用域中具有相同名称的变量(在您的情况下是全局作用域),它将找到名称为 guess 的函数。 并且您的代码将完美运行。

要了解这一点,您也可以将调用更改为 guess 您的 check 中的函数 来自 guess() 的函数 window.guess() 这也将使您的代码在功能上正确(在这种情况下,它将直接在全局范围内查找名称为 guess 的函数,但不建议使用该方法。

了解更多 here

关于javascript - 为什么我不能从 JavaScript 中的另一个函数调用一个函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38289866/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com