if else语句被跳过,即使是真的

时间:2017-11-20 22:50:54

标签: javascript

我在javascript和几行代码中有一个基本表,我比较了两个表中每个表的第一个值。当'else if'条件为真时,它跳过'else if'语句并直接转到结尾处的'else'。我对这一切都很陌生,所以如果我搞砸到一个显而易见的地方,我也不会感到惊讶。非常感谢任何帮助。

var firstEquation = ['2', 'x', '+', '1', 'y', '=', '8'];
var secondEquation = ['3', 'x', '-', '1', 'y', '=', '7'];

if ( firstEquation[1] > secondEquation[1] ) {
    print("Outcome 1");
} else if ( firstEquation[1] < secondEquation[1] ) {
    print("Outcome 2");
} else {
    print("Else");
}

3 个答案:

答案 0 :(得分:2)

JavaScript开始将数组索引计为0.你基本上说:

"width:150px; text-align:right"

由于if ( "x" > "x" ) { print("Outcome 1"); } else if ( "x" < "x" ) { print("Outcome 2"); } else { print("Else"); } 是每个数组中的第二个元素,"x",因此您将始终点击else语句。将数组索引更改为"x" = "x"firstEquation[0]以比较数组的第一个元素。

答案 1 :(得分:1)

您确定要使用print吗?那就是将数据发送到纸上。

您可能意味着console.log - 这会将该输出发送到console。如果你来自像python这样的语言,那么你没有意识到它是有意义的。

答案 2 :(得分:0)

您正在比较第二个值,以比较第一个值[0]。 它直接进入最后一个,因为'x'不小于或大于'x'