如何使用比较运算符

时间:2019-11-19 09:07:07

标签: javascript comparison-operators

对于我的JavaScript课程,我遇到了一个问题。

问题是:

在右侧的编辑器中,找到一个名为charmanderLevel的变量,将为其分配1到100之间的值。

使用if语句打印到控制台时,Charmander的演变与该体验水平相对应。如果经验水平超过100,则应考虑一条else语句,该水平应打印“ Charizard一样好”。

下面是一张图表,其中包含与每个级别相对应的演变:

Charmander - 1 to 15
Charmeleon - 16 to 35
Charizard - 36 to 100

我构建的代码

var charmanderLevel = Math.ceil(Math.random() * 100);
if (charmanderLevel =>1) {
    console.log('Charmander');
} else if (charmanderLevel <=35) {
    console.log('Charmeleon');
} else if (charmanderLevel <=100) {
    console.log('Charizard');
} else {
    console.log('Charizard is as good as it gets');
}

使用此代码,我得到警告:

  
    
      
        

代码不正确         应该有一个if语句,用于检查变量charmanderLevel是否大于1且小于15

      
    
  

我试图将代码更改为<= 15的值,但这给出了相同的警告。还尝试使用> = 1和<= 15进行操作,但这也无法解决。

这里出了什么问题以及如何解决?

4 个答案:

答案 0 :(得分:0)

我想那是正确的

var charmanderLevel = Math.ceil(Math.random() * 100);
if (charmanderLevel >= 1 && charmanderLevel <= 15) {
    console.log('Charmander');
} else if (charmanderLevel >= 16 && charmanderLevel <= 35) {
    console.log('Charmeleon');
} else if (charmanderLevel <=100) {
    console.log('Charizard');
} else {
    console.log('Charizard is as good as it gets');
}

答案 1 :(得分:0)

您只能检查上限,因为下限是一个,如说明所示。

var charmanderLevel = Math.ceil(Math.random() * 100);

if (charmanderLevel <= 15) {
    console.log('Charmander');
} else if (charmanderLevel <= 35) {
    console.log('Charmeleon');
} else if (charmanderLevel <= 100) {
    console.log('Charizard');
} else {
    console.log('Charizard is as good as it gets');
}

答案 2 :(得分:0)

由于错误显示小于等于15不小于等于,我认为应该是if(charLvl> = 1 && charLvl <15) 试试这个,让我知道

答案 3 :(得分:0)

尝试一下,这将起作用。

var charmanderLevel = Math.ceil(Math.random() * 100);
if (charmanderLevel >= 1 && charmanderLevel <= 15) {
    console.log('Charmander');
} else if (charmanderLevel >= 16 && charmanderLevel <= 35) {
    console.log('Charmeleon');
} else if (charmanderLevel >= 36 && charmanderLevel <= 100) {
    console.log('Charizard');
} else {
    console.log('Charizard is as good as it gets');
}