首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

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

2012-09-11 
遇到一个有点奇怪的问题JScript codeconsole.log(a)//a10console.log(b)//b2var step (a b) ? 1 /

遇到一个有点奇怪的问题

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

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

热点排行