91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

javascript中判斷對象數據類型的方法是什么

發布時間:2020-08-31 13:40:20 來源:億速云 閱讀:183 作者:小新 欄目:web開發

小編給大家分享一下javascript中判斷對象數據類型的方法是什么,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

對js中不同數據的布爾值類型總結:false:空字符串;null;undefined;0;NaN。true:除了上面的false的情況其他都為true;

javascript中有六種數據類型stringbooleanArrayObjectnull;undefined。如何檢測這些數據類型呢,總結方法如下:

第一種方法:typeof

var obj = {'name':'Tom'}
var arr = ['a','b','c']
var str = 'chenxinming'
var bool = true
var num = 1
var n = null
var fn = function(n){
        console.log(n)
    }
	
console.log(typeof obj)    // object
console.log(typeof arr)    // object
console.log(typeof str)    // string
console.log(typeof bool)    // boolean
console.log(typeof num)    // number
console.log(typeof n)    // object
console.log(typeof fn)    // function

通過上面測試,發現typeof檢測數組和字典時返回類型都是Object,無法區別是數組還是對象。如果想要檢查是數組還是對象使用instanceof方法和constructor方法

第二種方法:instanceof

var obj = {'name':'Tom'}
var arr = ['a','b','c']
var str = 'chenxinming'
var bool = true
var num = 1
var n = null
var fn = function(n){
        console.log(n)
    }
    
console.log(obj instanceof Object)  // true
console.log(arr instanceof Array)    // true
console.log(str instanceof String)    // false
console.log(bool instanceof Boolean)    // false
console.log(num instanceof Number)    // false
console.log(n instanceof Object)    // false
console.log(fn instanceof Function)    // true

注意:instanceof 只可以用來判斷數組和對象、函數,不能判斷string、數字和boolean類型,如果需要判斷string和boolean可使用tostring()方法。

特別注意:

instanceof方法在檢查數組是否為對象時,返回結果為True

var arr = ['a','b','c']

console.log(arr instanceof Object)    // true

如果使用instanceof需要嚴格判斷是數組或者是對象時,改進代碼如下:

var obj = {'name':'Tom'}
var arr = ['a','b','c']
var str = 'chenxinming'

var getDataType = function(data){
        if(data instanceof Array){
            return 'Array'
            }
        else if (data instanceof Object){
            return 'Object' 
            }
        else{
            return 'data is not obejct type'
        }
    }
    
getDataType(obj)    // Object
getDataType(obj)    // Array
getDataType(obj)    // data is not obejct type

第三種方法:constructor

var obj = {'name':'Tom'}
var arr = ['a','b','c']
var str = 'chenxinming'
var bool = true
var num = 1
var n = null
var fn = function(n){
        console.log(n)
    }
    
console.log(obj.constructor == Object)  // true
console.log(arr.constructor == Array)  // true
console.log(str.constructor == String)  // true
console.log(bool.constructor == Boolean)  // true
console.log(num.constructor == Number)  // true
console.log(fn.constructor == Function)  // true

測試發現constructor支持檢查Object、Array、String、Boolean、Number、Function

第四種方法:toString(建議使用)

var obj = {'name':'Tom'}
var arr = ['a','b','c']
var str = 'chenxinming'
var bool = true
var num = 1
var n = null
var fn = function(n){
        console.log(n)
    }
    
console.log(Object.prototype.toString.call(obj))    // [object Object]
console.log(Object.prototype.toString.call(arr))    // [object Array]
console.log(Object.prototype.toString.call(str))    // [object String]
console.log(Object.prototype.toString.call(bool))    // [object Boolean]
console.log(Object.prototype.toString.call(num))    // [object Number]
console.log(Object.prototype.toString.call(n))    // [object Null]
console.log(Object.prototype.toString.call(fn))    // [object Function]

從測試看出來,最好使用toString,這個方法功能比較全面。

以上是javascript中判斷對象數據類型的方法是什么的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

黎川县| 安溪县| 河池市| 双辽市| 通许县| 虹口区| 额济纳旗| 吴桥县| 吉隆县| 米泉市| 昌都县| 北海市| 灌云县| 布拖县| 连江县| 峨眉山市| 郸城县| 博湖县| 铜山县| 旬邑县| 绥棱县| 卢氏县| 盐边县| 宜兰县| 宝山区| 武乡县| 漳州市| 彩票| 东丽区| 北安市| 大安市| 福鼎市| 平邑县| 石台县| 唐山市| 西乡县| 钟山县| 松江区| 青海省| 南溪县| 曲沃县|