日期:2014-05-16  浏览次数:20393 次

遇到一个有点奇怪的问题
JScript code


console.log(a);//a=10
console.log(b);//b=2
var step = (a > b) ? 1 / a : 1 / b;



为什么会得到step=0.5呢

不是应该=0.1吗?

a>b 是true ,step不是应该等于1/a?

------解决方案--------------------
按字符串的比较方式的话'2'>'10',估计这两个变量是字符串类型吧?
改为:
var step = (parseInt(a) >parseInt(b)) ? 1 / a : 1 / b;


------解决方案--------------------
var a = '10';
var b = '2';
var step = (a > b) ? 1 / a : 1 / b;
alert(step);

字符串比较会出现这个问题。