• 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

  • 相关阅读:
    路飞项目五
    路飞项目四
    路飞项目三
    路飞项目二
    基本数据类型之集合和字符编码
    3.11 作业
    基本数据类型内置方法
    3.10 作业
    流程控制之for循环、基本数据类型及其内置方法
    3.9 作业
  • 原文地址:https://www.cnblogs.com/liutianzeng/p/10846808.html
Copyright © 2020-2023  润新知