美文网首页工作生活
数据类型检测

数据类型检测

作者: 没了提心吊胆的稗子 | 来源:发表于2019-07-14 21:55 被阅读0次
  • typeof: 检测数据类型的运算符
    返回结果包括number、boolean、string、symbol、object、undefined、function等7种基本数据类型,但对于引用数据类型不能实现精确的检测
  • instanceof: 检测某个实例是否属于这个类
    测试一个对象在其原型链中是否存在一个构造函数的 prototype 属性,只要其原型链上有,结果就为true,例如
    [] instanceof Array; -> true
    [] instanceof Object; -> true
    但是对于基本数据的字面量创建方式不能检测出来,也不能检测null和undefined,比如:
    1 instanceof Number; -> false
    New Number(1) instanceof Number; -> true
  • === 严格运算符
    只能用于判断null和undefined,因为这两种类型的值都是唯一的
  • constructor: 获取当前实例的构造器
    所有对象都会从它的原型上继承一个 constructor 属性,但对象的原型是可以修改的,例如:
    function Fn(){};
    Fn.prototye = new Array();
    var f = new Fn();
    console.log(f.contructor === Array); -> true
    console.log(f.contructor === Fn); -> false
  • Object.prototype.toString.call: 获取当前实例的所属类信息
    对于上述检测方法的缺点,该方法都可以一一补足。
    对于基本数据类型:
    Object.prototype.toString.call(1)
    "[object Number]"
    对于引用数据类型:
    Object.prototype.toString.call([])
    "[object Array]"
    修改原型:
    function Fn(){};
    Fn.prototye = new Array();
    Object.prototype.toString.call(Fn)
    "[object Function]"
    其中第一个object表示当前实例是对象数据类型的(固定死的),第二个表示具体属于哪个类的一个实例。
    利用这一方法实现一个监测数据类型的方法

相关文章

  • JS-NO.3

    数据类型检测 4种方式 1:typeof 主要检测基本数据类型 不能具体检测出引用数据类型 2:constru...

  • 20170710笔记

    数据类型检测有4种方法 type of 主要用于基本数据类型检测,不能具体检测出引用数据类型 constructo...

  • 2019-03-19 js practice three

    数据类型检测有4种方法 typeof 主要用来检测基本数据类型,不能具体检测出引用数据类型 constructor...

  • Object.prototype.toString.call检测

    1. 为什么可以检测数据类型 我们知道typeof可以检测数据类型,但是是不准确的,比如 想更准备的检测数据类型可...

  • js笔记五十之数据类型检测

    数据类型检测 typeof 用来检测数据类型的运算符 使用typeof检测数据类型, 首先返回的都是一个字符串其次...

  • 数据类型检测

    数据类型检测

  • Js类型相关总结

    Js的基本数据类型 复杂数据类型 类型检测 typeof 检测检测原理是根据变量存储时低位 instanceof检...

  • javascript面试题

    数据类型 1.有哪几种数据类型 2.说说基本数据类型和引用数据类型的不同 3.如何检测数据类型 4.如何检测对象,...

  • js - 10 JS数据类型检测

    数据类型检测 typeof typeof [val] : 用来检测数据类型的运算符 typeof的局限性 : 基于...

  • 数据类型检测方法总结typeof OR call(修改this指

    使用typeof方法检测数据类型 方法不严谨,在检测数组和对象是都是object 类型的 万能的数据类型检测方式 ...

网友评论

    本文标题:数据类型检测

    本文链接:https://www.haomeiwen.com/subject/mcokhctx.html