zoukankan      html  css  js  c++  java
  • js条件判断时隐式类型转换

    Javascript 中,数字 0 为假,非0 均为真

    在条件判断运算 == 中的转换规则是这样的:

    1. 如果比较的两者中有布尔值(Boolean),会把 Boolean 先转换为对应的 Number,即 0 和 1,然后进行比较。

    2. 如果比较的双方中有一方为 Number,一方为 String时,会把 String 通过 Number() 方法转换为数字,然后进行比较。

    3. 如果比较的双方中有一方为 Boolean,一方为 String时,则会将空字符串""转换为 false,除此外的一切字符串转换为 true,然后进行比较。

    4. 如果比较的双方中有一方为 Number,一方为Object时,则会调用 valueOf 方法将Object转换为数字,然后进行比较。

    隐式类型转换会给我们造成很多麻烦,那么该怎么避免呢?

      建议在所有使用条件判断的时候都使用全等运算符 === 来进行条件判断。全等运算符会先进行数据类型判断,并且不会发生隐式类型转换。

  • 相关阅读:
    初识STM32标准库
    自己写库—构建库函数雏形
    使用寄存器点亮LED等
    新建工程---寄存器版
    什么是寄存器
    初识STM32
    ST-LINK驱动的安装
    MDK5使用技巧
    开发环境的搭建
    1行Python代码制作动态二维码
  • 原文地址:https://www.cnblogs.com/phen/p/5437854.html
Copyright © 2011-2022 走看看