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]”
  • 相关阅读:
    【习题整理】分块+莫队(未完待续)
    【bzoj4198】【Noi2015】荷马史诗
    【bzoj2006】【NOI2015】超级钢琴
    【bzoj1029】【JSOI2007】建筑抢修
    【bzoj1483】【HNOI2009】梦幻布丁
    【bzoj4195】【NOI2015】程序自动分析
    Rearrangement inequality
    hdu1047
    hdu1046
    hdu1045
  • 原文地址:https://www.cnblogs.com/snowstorm22/p/10286288.html
Copyright © 2011-2022 走看看