javascript对于0的解读

CreateTime--2017年6月29日10:36:01
Author:Marydon

javascript对于0的解读

1.0与“0”

  1.1 判断0与"0"是否相等

    测试:alert(0 == "0")

    结果:返回true

    结论:

      a.当判断0 == "0",js返回的是true;

      b.但是调用length属性时只能是"0",因为数字number类型没有length属性;

      c.javascript将number类型与数字格式的string视为相等,

      这个特性多用于:当后台返回的是字符串格式的数字且判断是否和指定数值相等时,不需要做数值类型转换,使用方便,举例:

      var example = "12345";        

      方式一:if (12345 == example) {}(推荐使用)

      方式二:if ("12345" == example) {}(不推荐使用)    

  1.2 关于”0“的逻辑判断

  情景1:当变量值为0时不能进if语句

  错误判断用法:    

// 二者满足一个就弹出页面
if (param1.length > 0 || param2.length > 0) {
    var url = baseUrl + '/telemedicine/room/operate/viewMsg.do?YCHZCOUNT=' + param1 + '&WLZJCOUNT=' + param2;
    object.showMessage('未审核消息提醒', url, 500, 300, 2);
}

  解析:”0“.length返回的是1,不是0。

  正确判断方法:

// 二者满足一个就弹出页面
if (0 != param1 || 0 != param2) {
    var url = baseUrl + '/telemedicine/room/operate/viewMsg.do?YCHZCOUNT=' + param1 + '&WLZJCOUNT=' + param2;
    object.showMessage('未审核消息提醒', url, 500, 300, 2);
}

  注意:

    使用param!=0这种判断条件的必要前提是:参数是>=0的string类型的数值或数字;

    业务逻辑:使用SQL对满足条件的数据进行计数,返回的结果必然>=0

    

2.0与“”

  判断0与""是否相等  

    测试:alert(0 == "")

    结果:返回true

    结论:当判断0 == "",js返回的是true。

3.

原文地址:https://www.cnblogs.com/Marydon20170307/p/7093273.html