简体   繁体   English

运算符“>”无法正常工作

[英]Operator “>” doesn't work correctly

The > operator does not work correctly for me! >运算符不适用于我!

var message = document.getElementById("success");
message.innerHTML = startNumber + ">" + endNumber;
document.getElementById("mes").innerHTML = startNumber > endNumber;

input1: startNumber=45 , endNumber=1 输入1:startNumber = 45,endNumber = 1
////// output1 : 45>1 true ////// output1:45> 1是

input2: startNumber=45 , endNumber=5 input2:startNumber = 45,endNumber = 5
//////// output2:45>5 false //////// output2:45> 5否


Updated (my variable declaration before/after) Thanks:) 更新(我的变量声明之前/之后)谢谢:)

<!--Before-->
        <form>
            <input type="text" id="start_field" placeholder="start of">
            <input type="text" id="end_field" placeholder="end at">
            <input type="button" id="startbtn" value="Start">
        </form>

var startPage =document.getElementById("start_field").value;
var endPage = document.getElementById("end_field").value;

<!--After-->
        <form>
            <input type="text" id="start_field" placeholder="start of">
            <input type="text" id="end_field" placeholder="end at">
            <input type="button" id="startbtn" value="Start">
        </form>

var startPage =new Number(document.getElementById("start_field").value);
var endPage = new Number(document.getElementById("end_field").value);

You're working with strings, not numbers. 您正在使用字符串,而不是数字。 The string "45" is not greater than the string "5". 字符串 “ 45”不大于字符串 “ 5”。

You can force the strings to be interpreted numerically if you want: 如果需要,可以强制对字符串进行数字解释:

document.getElementById("mes").innerHTML = +startNumber > +endNumber;

try 尝试

document.getElementById("mes").innerHTML = parseInt(startNumber) > parseInt(endNumber);

to force numerical comparison (aot string comparison) 强制进行数值比较(辅助字符串比较)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM