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

    判断数据类型的方法

    var red = "shark";             
    var orangered = "100";
    var ember = 1.7976931348623157E+10308;
    var crimson = -1.7976931348623157E+10308;
    var orange = 123456;
    var yellow = true;
    var green = undefined;         
    var cyan = null;
    var blue = ['a','s','d'];      
    var magenta = {};              
    var purple = function(){};     
    var yellowgreen = new Date();
    var vermilion = /123/;          
    var black = [red,orangered,ember,crimson,orange,yellow,green,cyan,blue,magenta,purple,yellowgreen,vermilion];
    
    • Array.isArray():只能检测Array数据类型
      console.log("### 'Array.isArray()'数据类型检测:只能检测Array数据类型");
      console.log(blue + "的返回值为 -> " + Array.isArray(blue));
      console.log("");
    
    • instanceof:只能检测Function、Object、Array、Date、RegExp等数据类型
      console.log("### 'instanceof'数据类型检测:只能检测Function、Object、Array、Date、RegExp等数据类型");
      console.log(purple instanceof Function);
      console.log(magenta instanceof Object);
      console.log(blue instanceof Array);
      console.log(yellowgreen instanceof Date);
      console.log(vermilion instanceof RegExp);
      console.log("");
    
    • typeof:不能检测null,Array,Object,Data,Regexp的数据类型,返回值都是Object
      console.log("### 'typeof'数据类型检测:不能检测null,Array,Object,Data,Regexp的数据类型");
      for(var i=0;i<black.length;i++){
          console.log(black[i] + "的数据类型为 -> " + typeof black[i]);
      }
      console.log("");
    
    • Object.prototype.toString.call():数据类型检测最佳方案
      console.log("### 'Object.prototype.toString.call()'数据类型检测:全类型检测");
      for(var i=0;i<black.length;i++){
          console.log(Object.prototype.toString.call(black[i]));
      }
      console.log("");
    
    • isNaN():检测是否为非数字类型,与isFinite()相反
      • String、undefined、Array、Object,Function、RegExp 返回true值
      • Number、Boolean、Null、Date 返回false值
      • 无穷数 返回false值
      console.log("### 'isNaN()'数据类型检测:检测非数字类型");
      for(var i=0;i<black.length;i++){
          console.log(black[i] + "的返回值为 -> " + isNaN(black[i]));
      }
      console.log("");
    
    • isFinite():检测有穷数,与isNaN()相反
      • String、undefined、Array、Object,Function、RegExp 返回false值
      • Number、Boolean、Null、Date 返回true值
      • 无穷数 返回false值
      console.log("### 'isFinite()'数据类型检测:检测有穷数,数字类型返回true值");
      for(var i=0;i<black.length;i++){
          console.log(black[i] + "的数据类型为 -> " + isFinite(black[i]));
      }
      console.log("");
    
    • Number.isFinite():检测有穷纯数字
      • Number类型为true
      console.log("### 'Number.isFinite()'数据类型检测:检测有穷纯数字");
      for(var i=0;i<black.length;i++){
          console.log(black[i] + "的数据类型为 -> " + Number.isFinite(black[i]));
      }
      console.log("");
    
    • Infinity属性:检测无穷数
      • 无穷数返回值为Infinity或-Infinity
      console.log("### 'Infinity'属性检测无穷数");
      for(var i=0;i<black.length;i++){
          if(black[i] == 'Infinity'){
              console.log(black[i] + "的数据为 -> 正无穷数");
          }else if (black[i] == '-Infinity'){
              console.log(black[i] + "的数据为 -> 负无穷数");
          }else{
              console.log(black[i] + "的数据为 -> 有穷数");
          }
      }
      console.log("");
    
  • 相关阅读:
    idea插件-RestfulToolkit
    java 调试技巧
    js foreach 不能中断的现象及理解
    SpringBoot 内嵌Tomcat的默认线程配置
    SpringMVC中从doDispatch如何一步步调用到controller的方法
    干掉hao123的第n+1种方法
    查找——二叉排序树(代码超详细注释)
    为什么单螺旋桨飞机会左偏?
    【转】Python 魔法方法大全
    通俗的讲解Python中的__new__()方法
  • 原文地址:https://www.cnblogs.com/SharkJiao/p/13424284.html
Copyright © 2011-2022 走看看