表达式导致错误

时间:2014-02-20 06:51:25

标签: javascript logic expression

我有一个简单的问题,这一天困扰着我。我有一个表达式,就像这样我有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时,它会显示警告框。我想因为你先输入第一个数字所以程序会读取它。 任何人都可以帮助我这个逻辑谢谢

1 个答案:

答案 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