zoukankan      html  css  js  c++  java
  • ObjectObject.prototype.toString.call()方法的使用

    (1)判断基本类型:

    Object.prototype.toString.call(null);      //”[object Null]”
    Object.prototype.toString.call(undefined); //”[object Undefined]”
    Object.prototype.toString.call(“abc”);     //”[object String]”
    Object.prototype.toString.call(123);       //”[object Number]”
    Object.prototype.toString.call(true);      //”[object Boolean]”

    (2)判断原生引用类型:

    函数类型:
    Function fn(){console.log(“abc”);}
    Object.prototype.toString.call(fn);    //”[object Function]”
    日期类型:
    var date = new Date();
    Object.prototype.toString.call(date);   //”[object Date]”
    数组类型:
    var arr = [1,2,3];
    Object.prototype.toString.call(arr);   //”[object Array]”
    正则表达式:
    var reg = /\w/g;
    Object.prototype.toString.call(reg);  //"[object RegExp]"
    自定义类型:
    function Person(name, age) {
        this.name = name;
        this.age = age;
    }
    var person = new Person("snow", 18);
    Object.prototype.toString.call(person);    //"[object Object]"
    以上表明这种方法不能准确判断person是Person类的实例,但可以使用instanceof 操作符来进行判断,如下所示:
    console.log(person instanceof Person);   //true

    (3)判断原生JSON对象:

    var isNativeJSON = window.JSON && Object.prototype.toString.call(JSON);
    console.log(isNativeJSON);    //”[object JSON]”
  • 相关阅读:
    poj1830 开关问题
    poj1681 Painter's Problem
    poj1222 EXTENDED LIGHTS OUT
    bzoj1923 [Sdoi2010]外星千足虫
    bzoj1013 [JSOI2008]球形空间产生器sphere
    poj2888 Magic Bracelet
    poj2409 Let it Bead
    poj1286 Necklace of Beads
    bzoj1004 HNOI2008 Cards
    bzoj2040 [2009国家集训队]拯救Protoss的故乡
  • 原文地址:https://www.cnblogs.com/snowstorm22/p/10286288.html
Copyright © 2011-2022 走看看