比较两个值时出现JavaScript输出和控制流错误
JavaScript Output and Control Flow errors when comparing two values
我正试图创建一个程序,比较两个不同的值(x,y),并确定第一个值是否大于、等于或小于另一个值。除此之外,它还将检测输入的值是否为NaN,并输出错误语句。代码如下。。。。
function getRelationship(x, y) {
if (x > y) {
return ">";
}
else if (x < y) {
return "<";
}
else if (x == y) {
return "=";
}
else if (isNaN(x)) {
console.log("Can''t compare relationships because " + x + " is not a number");
return x;
}
else if (isNaN(y)) {
console.log("Can''t compare relationships because " + y + " is not a number");
return y;
}
else if (isNaN(x) && isNaN(y)) {
console.log("Can''t compare relationships because " + x + " and " + y + " are not numbers");
return x, y;
}
}
当我输入以下函数调用时:
console.log(getRelationship(1,4));
console.log(getRelationship(1,1));
console.log(getRelationship("that",2));
console.log(getRelationship("this"," something else"));
console.log(getRelationship(3));
console.log(getRelationship("hi"));
console.log(getRelationship(NaN));
console.log(getRelationship(NaN, undefined));
我把这个拿回来:
LOG: '<'
LOG: '='
LOG: 'Can't compare relationships because that is not a number'
LOG: 'that'
LOG: '>'
LOG: 'Can't compare relationships because undefined is not a number'
LOG: undefined
LOG: 'Can't compare relationships because hi is not a number'
LOG: 'hi'
LOG: 'Can't compare relationships because NaN is not a number'
LOG: NaN
LOG: 'Can't compare relationships because NaN is not a number'
LOG: NaN
所以我的问题是,为什么Else If
语句中的第四个函数调用中没有使用&&
运算符;"this"answers"something other"是如何被比较的,以及我如何改变它以利用&&
条件;当我想要的只是预编码的console.log()
输出时,为什么我会得到NaN
和其他一些字符串输出?
如何在ElseIf语句中的第四个函数调用中使用&;操作员没有被利用?
因为if (isNaN(x))
的案子在它之前就已经审理过了,而且确实匹配。
为什么"这个"answers"其他东西"被拿来比较?
好吧,它们都是字符串,为什么不将它们进行比较呢?
我该如何更改
我认为你只想比较数字。在这种情况下,要明确这一点。您可以简单地将两个操作数强制转换为数字(使用Number
),但请注意,这也适用于数字字符串。如果您不希望这样,请对操作数进行typeof
检查。
当我只想要预先编码的console.log()输出时,为什么我会输出NaN和其他一些字符串?
因为你return
给他们打了电话,而且是console.log
给你打电话的结果打电话。
相关文章:
- console.log以外的Javascript输出函数
- 比较两个值时出现JavaScript输出和控制流错误
- 监视JavaScript输出,例如console.log()
- 意外的javascript输出
- 获取表格格式的 Javascript 输出
- 在 JavaScript 输出中设置字体样式
- javascript输出true中的hasOwnProperty方法
- 让我的javascript输出显示在HTML中
- 向Javascript输出中添加逗号分隔的数字
- 如何在Java程序中读取JavaScript输出文本
- 使用javascript输出样式通知
- Sublime Text 3-can't将javascript输出到浏览器
- c#linq对象到javascript输出
- 如何添加单选按钮和复选框将选择输入到一起以形成JavaScript输出
- JavaScript输出中的CoffeeScript注释
- 以javascript输出对象值
- 你如何格式化json,然后通过Javascript输出它
- 如何将javascript输出到页面
- JavaScript输出消失
- Javascript输出表现得很奇怪