zoukankan      html  css  js  c++  java
  • [四种方法]检测数据类型

    1.typeof

    返回值是一个字符串,如果用两个及以上的typeof检测的话返回值"string",但是他有局限性,能详细检测基本数据类型,但是null不行,检测出来是object,对于引用数据类型步详细检测 只返回object和function.

    2.instanceof

    检测某个实例是否数据某各类,因为每一种数据类型都对应自己所属的类,所以我们可以通过他来检测数据类型,但是他也有局限性,对于基本数据类型用字面量创建方式创建的变量是无法检测的,但构造函数创建方式可以,引用数据类型可以详细检测

    3.constructor

    每个类的原型(prototype)上都有一个constructor属性,它指向类本身,那么一个具体的数据类型的实例.constructor 比如"11".constructor->"11"._ _ proto _ _ ->String.protype, string原型上有constructor指向string本身,你也可以通过他的name来得到String类名,也就是他的数据类型

    4.Object.prototype.toString()

    对象Object类的原型上有一个toString,他可以检测数类型,那么我们就调用Object.prototype.toString()这个方法,用call将里面的this改变成我项检测的那个数据类型,会得到toString console.log(({1:1}).toString());

    这个方法不兼容所有浏览器,兼容写法如下⤵️

    function getType(type){
      return Object.prototype.toString.call(type).split("")[1].replace("]",'');
    }
    
  • 相关阅读:
    贴图UV动画
    编辑器开发读取LIGHTMAP的脚本
    一个角色旋转身体在向前行走的代码
    第一周
    《大道至简》读后感
    第二周
    Easyui,好的设计思路
    有关反射
    Easyui表格的行编辑
    冒泡排序
  • 原文地址:https://www.cnblogs.com/Jiazexin/p/7080334.html
Copyright © 2011-2022 走看看