zoukankan      html  css  js  c++  java
  • typeof、constructor和instanceof

      在JavaScript中,我们经常使用typeof来判断一个变量的类型,使用格式为:typeof(data)或typeof data。typeof返回的数据类型有六种:number、string、boolen、object、function、undefined。但是,对于Array和Date类型的变量,typeof返回的结果都是object,这使我们无法区分具体的数据类型。这时可以使用constructor或instanceof来判断。

      constructor返回变量的构造函数,而instanceof用于判断一个对象是否为一个类的实例,例如,当需要判断一个变量data是否为数组时,这两者的使用格式分别如下所示:

    if(data.constructor == Array),若data是数组则返回true,否则返回false。

    if(data instanceof Array),若date是数组则返回true,否则返回false。

    注意:

    null表示一个空对象,typeof null 返回的是object。

    typeof NaN 返回的是number。未定义的变量返回undefined。

    instanceof要求开发者为变量明确指定数据类型。

    constructor只能对已有变量进行判断,而typeof则可对未声明变量进行判断(返回undefined)。

  • 相关阅读:
    策略模式
    简单工厂模式
    单例模式
    sp_xml_preparedocument _使用 处理XML文档
    LINQ to XML
    动态Linq(结合反射)
    IEqualityComparer<T>接口
    Linq to object 技巧、用法集锦
    IComparer<T> 接口Linq比较接口
    Linq to BBJECT之非延时标准查询操作符
  • 原文地址:https://www.cnblogs.com/wujuntian/p/5679121.html
Copyright © 2011-2022 走看看