• js中的数据类型和判断数据类型


    js中的数据类型和判断数据类型

    基本数据类型,六大基本数据类型:字符串(String)、数字(Number)、布尔(Boolean)、对象(Object)、空(Null)、未定义(Undefined)。

    1,字符串:string,单引号或者双引号号起来的,就是字符串。

    2,数字(Number),数字类型,包括浮是点数整数等。

    3,布尔(Boolean),false,true。

    4,未定义(undefined),未定义,当一个变量未创建或者创建未赋值的时候就是undefined。

    5,空(Null),不存在,dom节点不存在,返回值为null。

    6,对象(object),js中万物皆对象。

    7,不是基本数据类型,function。

    8,数组(array),[]

    那么如果有一个变量,如何判断它的数据类型。

    1,首先typeof可以解决大部分的数据类型判断。以上1-4和7(8等会再说)都是可以直接(typeof 变量名)返回变量的基本数据类型的,判断某个是否为String类型,可以直接 if(typeof(你的值) == "string"){}。只有null和object返回object类型,这里可以理解成null是一个空对象,但是由于(null == undefined)返回ture。所以可以理解成一个空对象的占位符。

    怎么判断null和object类型呢 ?首先判断是不是object,然后在判断是不是null,若是返回null,若不是返回object:

    function isObj(str)
    {
        if(str === null)
        {
           return false;
        }
        return typeof str === 'object';
    }

    那么8返回的也是object,怎么判断呢?instanceof出场。

    2,instanceof 用来判断某一个变量是否是某一个对象的实例,是一个三目运算符:a instanceof b?alert("true"):alert("false")  //注意b值是你想要判断的那种数据类型,不是一个字符串,比如Array。

           var a;
                var b = 2;
                var c = "字符串";
                var d = false;
                var e = null;
                var f = undefined;
                var g = [];
           var i = new Object();
    var h = function hh(argument) { } alert(e instanceof Array)
            alert(i instanceof Array)
           alert(g instanceof Array)

    此外还有一个constructor,用法跟instance差不多,不多说了。

    上面说了这些,其实在用的时候,要组合起来用,先判断变量的类型,再在范围内做下一步的判断就可以。

  • 相关阅读:
    利用Spring AOP自定义注解解决日志和签名校验
    SpringBoot返回date日期格式化,解决返回为TIMESTAMP时间戳格式或8小时时间差
    @RequestBody配合@JsonFormat注解实现字符串自动转换成Date
    Mysql的时间类型问题
    IntelliJ IDEA使用maven-javadoc-plugin生成Java Doc控制台乱码
    Maven学习笔记(十二)-maven打包之resource配置
    SpringBoot使用@Value从yml文件取值为空--注入静态变量
    cloud server ribbon 自定义策略配置
    JNA 如何 加载多个 存在依赖的 DLL 库
    Remote Desktop File Format
  • 原文地址:https://www.cnblogs.com/siwy/p/5315905.html
Copyright © 2020-2023  润新知