zoukankan      html  css  js  c++  java
  • Javascript判断数据类型与真假值隐形转换研究

    一、引言

    我们在开发的时候经常要判断真和假,这是我们经常写的代码:

    if(a){
      alert(1)  
    }

    那我们怎么判定a是真还是假呢?下面这些值的真假又是多少呢?它们的数据类型又是怎样的呢?

    "",
    0,
    "true",
    "false",
    True,
    true,
    "undefined",
    undefined
    null
    Null
    "null"
    "NULL"
    "object"

    二、数据类型

    判断数据类型一般用两种方法:typeof和Object.prototype.toString.call(data)。

    举个栗子:

    我们用typeof看看它的数据类型:

    看完null,再看一个空的json对象:

    发现它的类型也是"object",那么我们怎么区分它们呢?用Object.prototype.toString.call(data)方法看看:

    实验说明Object.prototype.toString.call方法能够得到更加具体的数据类型。我们也可以通过这个方法区分一个对象到底是Object还是Null,还是Array。

    另外,我们用typeof或者Object.prototype.toString.call方法的时候,要注意,返回值是字符串:

     三、真假值隐形转换

    说明字符串“0”是为真的。

    说明undefined为false。

    说明null是false

     

    字符串的undefined为真。

    一个空的json是真。

    那么一个空的数组呢?

    一个空的数组也是为真的。

    坚持!
  • 相关阅读:
    Java基础其他
    java网络编程
    java多线程编程
    正则表达式--位置匹配和组
    设计模式
    深入 Java Web
    mysql 好用的sql语句
    spring boot 发送邮件
    dubbo的spi机制
    原理分析dubbo分布式应用中使用zipkin做链路追踪
  • 原文地址:https://www.cnblogs.com/doubilaile/p/7808928.html
Copyright © 2011-2022 走看看