• 【转载】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循环

  • 相关阅读:
    计算机基础知识
    markdown简介及基本语法
    session和cookie的区别
    MySQL的游标
    数据库单表查询
    外键(有无级联)
    mysql
    数据库引擎
    守护进程和守护线程的区别
    快排等
  • 原文地址:https://www.cnblogs.com/jaycethanks/p/13447124.html
Copyright © 2020-2023  润新知