使用toString()檢測對象類型

能夠經過toString() 來獲取每一個對象的類型。爲了每一個對象都能經過 Object.prototype.toString() 來檢測,須要以 Function.prototype.call() 或者 Function.prototype.apply() 的形式來調用,傳遞要檢查的對象做爲第一個參數,稱爲thisArgapp

var toString = Object.prototype.toString;

toString.call(new Date); // [object Date]
toString.call(new String); // [object String]
toString.call(Math); // [object Math]

//Since JavaScript 1.8.5
toString.call(undefined); // [object Undefined]
toString.call(null); // [object Null]

能夠寫個函數來判斷個數據類型函數

function consoleType(obj) {
        return (Object.prototype.toString.apply(obj));
    }

    consoleType([]);    //  [object Array]
    consoleType(null);  //  [object Null]
    consoleType(undefined); // [object Undefined]
    consoleType(0);     // [object Number]
    consoleType(new Date);  //  [object Date]
    consoleType({});        //  [object Object]
    consoleType(function () {});    //  [object Function]
    consoleType(NaN);           //  [object Number]
    consoleType('a');           //  [object String]
    consoleType(/\d/);           //  [object RegExp]
 

參考:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object/toString#Using_toString()_to_detect_object_classthis

相關文章
相關標籤/搜索