zoukankan      html  css  js  c++  java
  • js检测对象的类型

    在JavaScript中,想要判断某个对象值属于哪种内置类型,最靠谱的做法就是通过Object.prototype.toString方法.

    示例:

    var array=[1,2,3];
    Object.prototype.toString.call(array) ;//"[object Array]"
    var obj={name:'Tom'};
    Object.prototype.toString.call(obj) ;//"[object Object]"
    var string='hi';
    Object.prototype.toString.call(string) ;//"[object String]"
    var num=1;
    Object.prototype.toString.call(num);//"[object Number]"

    当然,还有其他方式,不过麻烦了一些。

    如typeof,但typeof是测不出被检测的对象是Object(对象)还是Array(数组),因为Object包含了Array,如:

    var array=[1,2,3];
    var obj={name:'Tom'};
    typeof array;//"object"
    typeof obj;//"object"

    可以看到返回的都是"object"。

    instanceof可以像 Object.prototype.toString一样准确地检测js类型。如:

    var o=[];  
    alert(o instanceof Array);//true  
    alert(o instanceof Object);//true  
    var f=function(){}  
    alert(f instanceof Function);//true  
    alert(f instanceof Object);//true 

    小结:有简单的就用简单直接的,所以用Object.prototype.toString.call(obj)这个方式就好。

  • 相关阅读:
    从远程库克隆
    添加远程库
    远程仓库
    删除文件
    xml 解析的四种方式
    遍历Map
    Spring 和SpringMVC 的父子容器关系
    JDK各版本新特性!
    看啦这么就别人的博客 我也来写一篇! Object转换其他类型
    手机访问电脑搭建的服务器地址
  • 原文地址:https://www.cnblogs.com/wql025/p/4979606.html
Copyright © 2011-2022 走看看