js检测数据类型的方法你都掌握了几个?
生活随笔
收集整理的這篇文章主要介紹了
js检测数据类型的方法你都掌握了几个?
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
數(shù)據(jù)類型檢測(cè)
1 typeof檢測(cè) 2 var obg = {}; 3 var ary = []; 4 var reg = /^$/; 5 var fn = function () {}; 6 var num = 1; 7 var bool = true; 8 var nul = null; 9 var undef = undefined; 10 var str = ""; 11 console.log(typeof obg);//"object" 12 console.log(typeof ary);//"object" 13 console.log(typeof num);//"number" 14 console.log(typeof reg);//"object" 15 console.log(typeof fn);//"function" 16 console.log(typeof bool);//"boolean" 17 console.log(typeof nul);//"object" 18 console.log(typeof undef);//"undefined" 19 console.log(typeof str);//"string"*/
typrof不能具體細(xì)分是正則、數(shù)組、null、對(duì)象,因?yàn)橛胻ypeof檢測(cè)的時(shí)候結(jié)果都是"object"
2、instanceof檢測(cè),只要在實(shí)例的原型鏈上檢測(cè)出來的結(jié)果都是true
1 var num = 1;字面量方式創(chuàng)建 2 console.log( 1 instanceof Number); ->false 3 var num = new Number(1);實(shí)例方式創(chuàng)建 4 console.log( num instanceof Number);->true 5 var ary = []; 6 console.log(ary instanceof Array);->true 7 console.log(ary instanceof Object);->true 8 var fn = function () {}; 9 console.log(fn instanceof Function);->true 10 console.log(fn instanceof Object);->true
1 var ary = []; 2 console.log( ary.constructor === Array); 3 var num = 1; 4 console.log(num.constructor === Number) 4、Object.prototype.toString.call最準(zhǔn)確最常用的方法
1 var ary = []; 2 var reg = /^$/; 3 var fn = function () {}; 4 var num = 1; 5 var bool = true; 6 console.log(Object.prototype.toString.call(ary));->[object Array] 7 console.log(Object.prototype.toString.call(reg));->[object RegExp] 8 console.log(Object.prototype.toString.call(fn));->[object Function] 9 console.log(Object.prototype.toString.call(num));->[object Number] 10 console.log(Object.prototype.toString.call(bool));->[object Boolean]
1 typeof檢測(cè) 2 var obg = {}; 3 var ary = []; 4 var reg = /^$/; 5 var fn = function () {}; 6 var num = 1; 7 var bool = true; 8 var nul = null; 9 var undef = undefined; 10 var str = ""; 11 console.log(typeof obg);//"object" 12 console.log(typeof ary);//"object" 13 console.log(typeof num);//"number" 14 console.log(typeof reg);//"object" 15 console.log(typeof fn);//"function" 16 console.log(typeof bool);//"boolean" 17 console.log(typeof nul);//"object" 18 console.log(typeof undef);//"undefined" 19 console.log(typeof str);//"string"*/
typrof不能具體細(xì)分是正則、數(shù)組、null、對(duì)象,因?yàn)橛胻ypeof檢測(cè)的時(shí)候結(jié)果都是"object"
2、instanceof檢測(cè),只要在實(shí)例的原型鏈上檢測(cè)出來的結(jié)果都是true
1 var num = 1;字面量方式創(chuàng)建 2 console.log( 1 instanceof Number); ->false 3 var num = new Number(1);實(shí)例方式創(chuàng)建 4 console.log( num instanceof Number);->true 5 var ary = []; 6 console.log(ary instanceof Array);->true 7 console.log(ary instanceof Object);->true 8 var fn = function () {}; 9 console.log(fn instanceof Function);->true 10 console.log(fn instanceof Object);->true
?
1 var num = 1;字面量方式創(chuàng)建 2 console.log( 1 instanceof Number); ->false 3 var num = new Number(1);實(shí)例方式創(chuàng)建 4 console.log( num instanceof Number);->true 5 var ary = []; 6 console.log(ary instanceof Array);->true 7 console.log(ary instanceof Object);->true 8 var fn = function () {}; 9 console.log(fn instanceof Function);->true 10 console.log(fn instanceof Object);->true 3、constructor 構(gòu)造函數(shù)可以處理基本數(shù)據(jù)類型檢測(cè)1 var ary = []; 2 console.log( ary.constructor === Array); 3 var num = 1; 4 console.log(num.constructor === Number) 4、Object.prototype.toString.call最準(zhǔn)確最常用的方法
1 var ary = []; 2 var reg = /^$/; 3 var fn = function () {}; 4 var num = 1; 5 var bool = true; 6 console.log(Object.prototype.toString.call(ary));->[object Array] 7 console.log(Object.prototype.toString.call(reg));->[object RegExp] 8 console.log(Object.prototype.toString.call(fn));->[object Function] 9 console.log(Object.prototype.toString.call(num));->[object Number] 10 console.log(Object.prototype.toString.call(bool));->[object Boolean]
?
轉(zhuǎn)載于:https://www.cnblogs.com/wuxianqiang/p/6445122.html
總結(jié)
以上是生活随笔為你收集整理的js检测数据类型的方法你都掌握了几个?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 人文英语1边学边练简答答不上
- 下一篇: Cookie获取用户的访问记录