JS逻辑运算大于小于比较

遇到这个问题,结果测试了好半天终于发现原因,

例子:

var az = $('#a').css('zIndex'); // 1001
var bz = $('#b').css('zIndex'); // 1000
if (az > bz) {
alert(az +':'+ bz);
}

上面代码是在 jQuery 中获取两个对象的层高然后进行比较,但结果是永远不会弹窗对话框,

需要简单转换下类型才能正确比较,如下:

var az = $('#a').css('zIndex'); // 1001
var bz = $('#b').css('zIndex'); // 1000
if (az*1 > bz*1) {
alert(az +':'+ bz);
}

做乘法时,会自动转换为数值型。

在Javascript中使用逻辑运算符 > < ...进行两个数值比较时,一定要转换为数值型后才能正确执行。

搞了好几天的JS,郁闷死了。。。

上一篇:前端展望:取avalon,弃angular


下一篇:Spring学习系列(三) 通过Java代码装配Bean