Javascript Odin项目-网络开发101-基础知识第2部分-Snarky机器人

Javascript Odin项目-网络开发101-基础知识第2部分-Snarky机器人,javascript,Javascript,在本课程中,有一个到课程的外部链接,最后有练习。我正在做最后的练习,我不太明白为什么我的代码不起作用。提示如下: 咆哮的机器人 编写代码,询问用户最喜欢的号码是什么,然后 根据以下准则作出响应: 如果数字是42,回答应该是“耶!那是我的最爱。” 如果数字小于42,回答应该是:“呃, 这没关系,但是X会更好”对于这个响应X应该是 如果数字大于42,则他们猜测的数字+1 回答应该是:“瘸子,这个数字太大了!” 这是我的代码: let number = prompt('what is your fav

在本课程中,有一个到课程的外部链接,最后有练习。我正在做最后的练习,我不太明白为什么我的代码不起作用。提示如下:

咆哮的机器人

编写代码,询问用户最喜欢的号码是什么,然后 根据以下准则作出响应:

如果数字是42,回答应该是“耶!那是我的最爱。” 如果数字小于42,回答应该是:“呃, 这没关系,但是X会更好”对于这个响应X应该是 如果数字大于42,则他们猜测的数字+1 回答应该是:“瘸子,这个数字太大了!”

这是我的代码:

let number = prompt('what is your favorite number');
let x = number++;

if (number = 42) {
  response = "Yay! That's my favorite too!";
} else if (number < 42) {
  response = "Eh, that's OK but " + x + " would be even better";
} else {
  "LAME. That number is too large!";
}

console.log(response);

我尝试了一些不同的方法,但是第二个测试提示响应“15”一直失败。它使用第一个选项而不是第二个选项进行响应。我做错了什么?

首先,这是一个作业,而不是一个比较

if (number = 42) {
应该是:

if (number == 42) {
此外,您必须在if块之外定义响应,否则在某些情况下它将是未定义的。

此处:

let number = prompt("what is your favorite number");
let x = number++; // this will store original response in x and increment number by 1.

if (x == 42) {//use x to check conditions
    response = "Yay! That's my favorite too!";
} else if (x < 42) {
    response = "Eh, that's OK but " + number + " would be even better";// use number to set response
} else {
    response= "LAME. That number is too large!";
}
console.log(response);

因此,似乎是一些因素导致了这个错误。此代码解决了错误并通过了每个测试输出:

let number = Number(prompt('what is your favorite number'));
let x = number + 1;

if (number == 42) {
  response = "Yay! That's my favorite too!";
} else if (number < 42) {
  response = "Eh, that's OK but " + x + " would be even better";
} else {
  response = "LAME. That number is too large!";
}

console.log(response);

谢谢你的帮助,每个人都使用==进行比较,而不是=!!!考虑用户何时响应提示;返回的是数字还是字符串?尝试将字符串转换为数字,以便对其执行数学计算。我已经尝试过了,但这是我得到的错误:ReferenceError:response未在eval:12:13 eval at new Promise@NikhilPatel定义。您应该在if块之外定义它如果让x=number++;,您试图将数字+1存储在x中,这是错误的。它将数字存储在x中,然后将数字增加1。