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,郁闷死了。。。


posted @ 2014-02-02 21:31  神神的蜗牛  阅读(3048)  评论(0编辑  收藏  举报