js检测数据类型的方法你都掌握了几个?
生活随笔
收集整理的這篇文章主要介紹了
js检测数据类型的方法你都掌握了几个?
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
數據類型檢測
1 typeof檢測 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不能具體細分是正則、數組、null、對象,因為用typeof檢測的時候結果都是"object"
2、instanceof檢測,只要在實例的原型鏈上檢測出來的結果都是true
1 var num = 1;字面量方式創建 2 console.log( 1 instanceof Number); ->false 3 var num = new Number(1);實例方式創建 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最準確最常用的方法
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檢測 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不能具體細分是正則、數組、null、對象,因為用typeof檢測的時候結果都是"object"
2、instanceof檢測,只要在實例的原型鏈上檢測出來的結果都是true
1 var num = 1;字面量方式創建 2 console.log( 1 instanceof Number); ->false 3 var num = new Number(1);實例方式創建 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;字面量方式創建 2 console.log( 1 instanceof Number); ->false 3 var num = new Number(1);實例方式創建 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 構造函數可以處理基本數據類型檢測1 var ary = []; 2 console.log( ary.constructor === Array); 3 var num = 1; 4 console.log(num.constructor === Number) 4、Object.prototype.toString.call最準確最常用的方法
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]
?
轉載于:https://www.cnblogs.com/wuxianqiang/p/6445122.html
總結
以上是生活随笔為你收集整理的js检测数据类型的方法你都掌握了几个?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 人文英语1边学边练简答答不上
- 下一篇: Cookie获取用户的访问记录