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]”
  • 相关阅读:
    PAT (Basic Level) Practise 1013 数素数
    PAT (Basic Level) Practise 1014 福尔摩斯的约会
    codeforces 814B.An express train to reveries 解题报告
    KMP算法
    rsync工具
    codeforces 777C.Alyona and Spreadsheet 解题报告
    codeforces 798C.Mike and gcd problem 解题报告
    nginx + tomcat多实例
    MongoDB副本集
    指针的艺术(转载)
  • 原文地址:https://www.cnblogs.com/snowstorm22/p/10286288.html
Copyright © 2011-2022 走看看