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>
  • 相关阅读:
    教程:如何手动安装Xamarin与Xamarin for VisualStudio
    安装matplotlib
    pycharm中文专业版安装使用
    在win7下安装PowerShell 5.0遇到的坑
    1997-2017
    系统界面截图
    组态与非组态结合的LT
    opencv mat转qimage
    QTableWidget 样式文件
    hiredis window 源码编译
  • 原文地址:https://www.cnblogs.com/yangguoe/p/7988754.html
Copyright © 2011-2022 走看看