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>
  • 相关阅读:
    memcache清理缓存
    JqGrid常见使用方法
    SQLyog 最新版本12.5-64bit 完美破解,亲测可用!
    Navicat Premium 最新版本12.1.16-64bit 完美破解,亲测可用!
    【JAVA基础】一:聊聊笔试常见到的 “==、equal” 比较是否相等的内在差别
    scrapy 爬虫返回json格式内容unicode编码转换为中文的问题解决
    Python3的桌面程序开发利器:Eric6的环境搭建、使用
    通过Redis、Memcache的 incr 原子操作防刷机制的使用差别
    从零开始搭建一个从Win7环境备份至CentOS7的SVN双机备份环境
    通过Quartz 配置定时调度任务:使用cron表达式配置时间点
  • 原文地址:https://www.cnblogs.com/yangguoe/p/7988754.html
Copyright © 2011-2022 走看看