我有一个简单的问题,这一天困扰着我。我有一个表达式,就像这样我有2个变量,例如x和y。 x的值为7,我希望y总是大于x。如果输入的数字小于x,则会提醒消息。
y.value > x.value
alert("the number must be greater than X")
问题是,当我输入10,11,12并且任何2位数大于7时,它会显示警告框。我想因为你先输入第一个数字所以程序会读取它。 任何人都可以帮助我这个逻辑谢谢
答案 0 :(得分:1)
您需要检查x.value和y.value是否设置为字符串或数字。
字符串'12'小于'7'而数字12大于7.
如果它们是字符串,您可能希望将它们转换为数字并进行比较。
'12' > '7'
false
12 > 7
true
// STRING comparison
var x = { value: '7' };
var y = { value: '12'};
y.value > x.value;
false
// NUMBER comparison
var x = { value: 7 };
var y = { value: 12 };
y.value > x.value;
true
// convert STRING to NUMBER and compare
var x = { value: '7' };
var y = { value: '12' };
+y.value > +x.value; // conversion
true