zoukankan      html  css  js  c++  java
  • 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.

  • 相关阅读:
    JS常见错误和分析
    angularjs 笔记(1) -- 引导
    各大浏览器hack
    AngularJS 配置和运行phonecat错误
    npm start 作用
    $.prop()和$.attr() 区别用法
    HDU 1251 统计难题 (Tire树)
    Luogu P3370 【模板】字符串哈希
    Luogu P3385 【模板】负环
    LuoguP1563 玩具谜题
  • 原文地址:https://www.cnblogs.com/Marydon20170307/p/7093273.html
Copyright © 2011-2022 走看看