在js中,var 定义变量,生成的都是字符串。
var a = 10;
var b = 2;
if(a < b){
alert("错误");
}else{
alert("正常");
};
运行结果 正常; 10 小于 2 正常。 显然,这不是我们想要的结果。why? Because 两个都是字符串,取 a的第一位 1,取b的第一位 2;显然,2 大于 1.于是 返回正常。
解决办法:
一、eval() 函数
if(eval(a)<eval(b))
{
//逻辑业务
}
eval()函数用于在不引用任何特定对象的情况下计算代码字符串。
二、parseINt()函数
if(parseInt(a)<parseInt(b))
{
//逻辑业务
}
parseInt()函数用于在转换为int。
三、乘法运算(变相转换类型) (小学体育老师曾经说过:两边同时乘以相同的数,等式不变)
if(a *10 < b * 10){
//逻辑业务
}
原文链接:https://blog.csdn.net/qq_37837134/article/details/79611319