zoukankan      html  css  js  c++  java
  • js类型判别大合集

    1.typeof

    number,string,boolean,undefined,symbol,object,function

    对象中除了函数为function,其他对象都判别为object,

    缺陷:不能具体判别对象属于哪一类,只是都判别为object,甚至连null都判别为object

    2.Object.prototype.toString.call()

    该方法详解:http://www.cnblogs.com/youhong/p/6209054.html

    针对于typeof方法的不足产生的对象判别方法,可以准确判别出内置对象的类型,但对于自定义的对象实例只能都判别为object

    可能返回值:
    [object Number]
    [object String]
    [object Boolean]
    [object Undefined]
    [object Function]
    [object Object]
    [object Array]
    [object Arguments]
    [object Math]
    [object Symbol]

    缺陷:无法判别自定义的对象实例

      思考为什么要用object原型的tostring方法,而不是直接用数组等对象自己的tostring?

    答:因为数组等对象的tostring方法在各自的原型对象里都已经重写过了,不会返回对象类型,而是返回其他的值。

    3.A instanceof B

    针对Object.prototype.toString.call()的缺陷,又有了instanceof方法,

    A instanceof  B,表示A的原型链上是否存在B的原型对象,若存在返回true,反之返回false

    缺陷:无法对基本类型数据进行判断,当A为基本类型数据时,都返回false

  • 相关阅读:
    CSS基础——基本单位
    CSS基础——表格
    CSS基础——列表
    Single-Source Shortest Paths
    Maximum Flow
    Breadth-First Search
    Depth-First Search (III)
    Depth-First Search (II)
    Depth-First Search (I)
    Simple Complete Search
  • 原文地址:https://www.cnblogs.com/liutianzeng/p/10846808.html
Copyright © 2011-2022 走看看