为了账号安全,请及时绑定邮箱和手机立即绑定

带有争论的函数并在 javascript 中创建变量

带有争论的函数并在 javascript 中创建变量

POPMUISE 2022-10-21 16:26:22
我对编码完全陌生,我正在尝试创建一个函数来请求用户输入,将输入存储在要动态创建的变量中,最后输出变量的转换;我的代码就在下面。谢谢:function dogHuman(yes, no) {  var humanAge = ((dogAge - 2) * 4) + 21;  var haveDog = prompt("Do you have a dog? " + "yes" + " or " + "no");  if (haveDog == yes) {    var dogAge = prompt("How old is your dog? ");    alert("If your dog were human, it would be " + humanAge + " years old");  } else if (haveDog == no) {    alert("Thank you for you attention");  } else {    var haveDog = prompt("Do you have a dog? " + "yes" + " or " + "no" + yes + no);  }}dogHuman();
查看完整描述

3 回答

?
蝴蝶刀刀

TA贡献1801条经验 获得超8个赞

主要问题是haveDog == yes& haveDog == no。这里yes&no是字符串。所以不得不比较喜欢'haveDog === 'yes'。没用===。其次humanAge,仅当用户键入时才计算,yes否则它将undefined


function dogHuman(yes, no) {

  var haveDog = prompt("Do you have a dog? " + "yes" + " or " + "no");

  if (haveDog === 'yes') {

    var dogAge = prompt("How old is your dog? ");

    var humanAge = ((dogAge - 2) * 4) + 21;

    alert("If your dog were human, it would be " + humanAge + " years old");

  } else {

    alert("Thank you for you attention");

  }


}


dogHuman();


查看完整回答
反对 回复 2022-10-21
?
慕丝7291255

TA贡献1859条经验 获得超6个赞

我不确定问题是什么,所以我将回顾一下我注意到的所有内容:

  1. dogHuman在没有任何参数的情况下调用,并且查看您的代码,它可能不应该有任何参数。

  2. Javascript(事实上,大多数语言)按顺序做事,所以var humanAge = ((dogAge - 2) * 4) + 21;应该dogAge首先确定。

  3. 既然haveDog是拿一个prompt,你可能想比较haveDog"yes"不是仅仅yes

  4. "Do you have a dog? " + "yes" + " or " + "no"可以重写为"Do you have a dog? yes or no"

变量设置一次;每次运行它们时,它们都不会重新运行您设置的值;这种误解很常见,这也是我认为早期humanAge定义的来源。


查看完整回答
反对 回复 2022-10-21
?
largeQ

TA贡献2039条经验 获得超7个赞

你有几个问题,

  1. 将适当的参数传递给函数调用。

  2. 在提示之后移动humanAge分配dogAge,因为这需要首先发生。

  3. 确保不要引用你的变量

function dogHuman(yes, no) {

  var haveDog = prompt("Do you have a dog? " + yes + " or " + no);


  if (haveDog === yes) {

    var dogAge = prompt("How old is your dog? ");

    var humanAge = ((dogAge - 2) * 4) + 21;

    alert("If your dog were human, it would be " + humanAge + " years old");

    dogHuman(yes, no); // Recursion

  } else {

    alert("Thank you for you attention");

  }

}


dogHuman('yes', 'no'); // Pass your parameters into the call


查看完整回答
反对 回复 2022-10-21
  • 3 回答
  • 0 关注
  • 95 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信