zoukankan      html  css  js  c++  java
  • 【转载】js中区分object和array方法

    前言--我们可能会经常用到typeof去判断某一个变量的类型。

    typeof一般测试基本类型(Undefined、Null、Boolean、Number、String),对引用类型(数组,对象,函数),数组和对象返回object,函数引用类型返回Function。

    typeof对于区分数组和对象是没有用的。

    方法一:通过ES6中的Array.isArray来识别

    Array.isArray([])  //true
    Array.isArray({})  //false
    

    方法二:通过instanceof来识别

    [] instanceof Array   //true
    {} instanceof Array   //false
    

    方法三:通过调用constructor来识别

    {}.constructor    //返回object
    [].constructor    //返回Array
    

    **方法四:通过Object.prototype.toString.call方法来识别 **

    Object.prototype.toString.call([])   //["object Array"]
    Object.prototype.toString.call({})   //["object Object"]
    

    1.创建方法不同:

    2.对象没有长度,(对象没有for循环):

    3.调用方法不同

    4.对象键值唯一,数组可以重复

    5.都可以用for in循环

  • 相关阅读:
    C#Web网站的创建
    C#Repeater控件的使用
    C#LINQ
    C#异常处理
    C#LINQ
    C#匿名委托,匿名函数,lambda表达式
    C#chart图表的应用
    C#用户控件的使用
    用 Python写 daemon
    CentOS 5.4 制作 Python 2.6 RPM 包的方法
  • 原文地址:https://www.cnblogs.com/jaycethanks/p/13447124.html
Copyright © 2011-2022 走看看