zoukankan      html  css  js  c++  java
  • 数据类型判断基本方法

     1 <script>
     2     var num = 1
     3     var str = '传智播客'
     4     var bool=false;
     5     var arr=[];
     6     var obj={name:'传智播客'};
     7     var date = new Date();
     8     var fn = function(){}
     9 
    10     /******************************************************************************
    11      数据类型判断 - typeof
    12      *******************************************************************************/
    13     console.log('数据类型判断 - typeof')
    14     console.log(typeof undefined)//'undefined'
    15     console.log(typeof null) // object
    16     console.log(typeof true) //'boolean'
    17     console.log(typeof 123)  //'number'
    18     console.log(typeof "abc")  //'string'
    19     console.log(typeof function() {}) //'function'
    20     var arr=[];
    21     console.log(typeof {}) //'object'
    22     console.log(typeof arr)//'object'
    23     console.log(typeof unknownVariable) //'undefined'
    24     //    在使用 typeof 运算符时采用引用类型存储值会出现一个问题,
    25     //    无论引用的是什么类型的对象,它都返回 "object"。
    26     /******************************************************************************
    27      数据类型判断 - toString.call
    28      通用但很繁琐的方法: prototype
    29      *******************************************************************************/
    30     console.log('数据类型判断 - toString.call')
    31     console.log(toString.call(123))          //[object Number]
    32     console.log(toString.call('123'))        //[object String]
    33     console.log(toString.call(undefined))    //[object Undefined]
    34     console.log(toString.call(true))         //[object Boolean]
    35     console.log(toString.call({}))           //[object Object]
    36     console.log(toString.call([]))           //[object Array]
    37     console.log(toString.call(function(){})) //[object Function]
    38 
    39     console.log(Object.prototype.toString.call(str) === '[object String]')   //-------> true;
    40     console.log(Object.prototype.toString.call(num) === '[object Number]')   //-------> true;
    41     console.log(Object.prototype.toString.call(arr) === '[object Array]')    //-------> true;
    42     console.log(Object.prototype.toString.call(date) === '[object Date]')     //-------> true;
    43     console.log(Object.prototype.toString.call(fn) === '[object Function]') //-------> true;
    44 
    45     /******************************************************************************
    46      数据类型判断 - instanceof
    47      *******************************************************************************/
    48  //    判断已知对象类型的方法: instanceof
    49     console.log('数据类型判断 - instanceof')
    50     console.log(arr instanceof Array)     //---------------> true
    51     console.log(date instanceof Date)     //---------------> true
    52     console.log(fn instanceof Function)   //------------> true
    53     //    alert(f instanceof function)        //------------> false
    54     //    注意:instanceof 后面一定要是对象类型,并且大小写不能错,该方法适合一些条件选择或分支。
    55     /******************************************************************************
    56      数据类型判断 - 根据对象的constructor判断: constructor
    57      *******************************************************************************/
    58     //    根据对象的constructor判断: constructor
    59     var arr=[];
    60     console.log('数据类型判断 - constructor')
    61     console.log(arr.constructor === Array)   //----------> true
    62     console.log(date.constructor === Date)   //-----------> true
    63     console.log(fn.constructor === Function) //-------> true
    66 </script>
  • 相关阅读:
    SpringBoot-14-MyBatis预热篇,MySQL小结
    SpringBoot-13-插曲之Node文件重命名+自动生成json对象
    八月十九风雨大作
    诉世书
    《仪式》
    珊瑚墓地
    新生
    《应龙》
    《枝·你是树的狂舞》
    golang中使用etcd
  • 原文地址:https://www.cnblogs.com/yangguoe/p/7988754.html
Copyright © 2011-2022 走看看