如何打印报表

时间:2019-08-22 18:49:09

标签: javascript if-statement

我正在尝试使用该函数来打印与代码一致的语句,但是这是说某些未表示的数字正在打印出大小而不是N / A

我用过||或&&

var shirtWidth = 23;
    var shirtLength = 30;
    var shirtSleeve = 8.71;
    
    // Write your if/else code here

    if (shirtWidth===18 || shirtWidth <20 && shirtLength===28 || shirtLength < 29 && shirtSleeve===8.13 || shirtSleeve <8.38 ){
    
    console.log("S");
    
    }else if (shirtWidth===20 || shirtWidth<22 && shirtLength===29 || shirtLength <30  && shirtSleeve===8.38 || shirtSleeve <8.63){
    
    console.log("M");
    
    }else if (shirtWidth===22 || shirtWidth <24 && shirtLength===30 || shirtLength <31 && shirtSleeve===8.63 || shirtSleeve < 8.88){
    
    console.log("L");
    
    }else if (shirtWidth===24 || shirtWidth <26 && shirtLength===31 || shirtLength < 33 && shirtSleeve===8.88 || shirtSleeve < 9.63){
    
    console.log("XL");
    
    }else if (shirtWidth===26 || shirtWidth < 28 && shirtLength===33 || shirtLength<34 && shirtSleeve===9.63 || shirtSleeve < 10.13){
    
    console.log("2XL");
    
    }else if (shirtWidth===28 && shirtLength===34 && shirtSleeve===10.13){
    
    console.log("3XL");
    
    }else{
    
    console.log("N/A");
    
    }

期望的衬衫宽度为18,衬衫长度为29,衬衫袖子为8.47,以记录N / A大小,但收到S

1 个答案:

答案 0 :(得分:1)

使用OR运算子时,例如a===1 || b===1,当两个条件之一为true时,条件为true。

所以当你说:

if (shirtWidth === 18 || ...) {
  console.log("S");
}

当衬衫宽度= 18时,将不会查看||之后的所有代码。

还请记住&&||的优先级,即使不需要使用方括号,也很有用:

if (shirtWidth===18 
    || (shirtWidth < 20 && shirtLength === 28)
    || (shirtLength < 29 && shirtSleeve === 8.13)
    || shirtSleeve < 8.38)