遇到一个有点奇怪的问题
- JScript code
console.log(a);//a=10console.log(b);//b=2var 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);
字符串比较会出现这个问题。