读书人

遇到一个有点奇怪的有关问题

发布时间: 2012-09-11 10:49:03 作者: rapoo

遇到一个有点奇怪的问题

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);

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

读书人网 >JavaScript

热点推荐