1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
| < script >
var a = 'string';
var b = 1;
var c = true;
var f = function () {
return a ;
}
var g = null
var h = undefined
var i = Symbol ()
var j = new Array()
var k = new Date()
var l = new RegExp ()
var m = new Object ()
var n = new Map ()
var e = new Error ()
var index = 1
if (index === 1) {
// typeof 能判断的七种类型,首字母小写 string number boolean function undefined symbol object
console .log(typeof a )
console .log(typeof b )
console .log(typeof c )
console .log(typeof f )
console .log(typeof h )
console .log(typeof i )
console .log('--------')
console .log(typeof g )
console .log(typeof j )
console .log(typeof k )
console .log(typeof l )
console .log(typeof m )
console .log(typeof n )
console .log(typeof e )
} else if (index === 2) {
console .log(f instanceof Function)
// instanceof 只能判断七种数据类型,不能判断null,首字母大写 Array Date RegExp Object Function Map
console .log(a instanceof String )
console .log(b instanceof Number )
console .log(c instanceof Boolean )
console .log(g instanceof Object )
console .log(h instanceof Object )
console .log(i instanceof Symbol )
console .log('--------')
console .log(j instanceof Array)
console .log(k instanceof Date)
console .log(l instanceof RegExp )
console .log(m instanceof Object )
console .log(f instanceof Function)
console .log(n instanceof Map )
console .log(e instanceof Error )
} else if (index === 3) {
// constructor无法判断 undefined null
Math .floor(9).constructor === Number [1, 2, 3].constructor === Array
true
'11'.constructor === String
true
true.constructor === Boolean
true
var fn = function () {
return 1
}
undefined
fn .constructor === Function
true
Symbol ().constructor === Symbol
true
new Array().constructor === Array
true
new Date().constructor === Date
true
new RegExp ().constructor === RegExp
true
new Object ().constructor === Object
true
new Map ().constructor === Map
true
new Error ().constructor === Error
true
}
// 判断是否为空
function isNull (obj ) {
return typeof obj === 'object' && !(obj instanceof Object ) && obj === null
}
// 推荐使用 万能数据类型判断
function getObjectType (obj ) {
return Object .prototype .toString .call (obj ).slice (8, -1);
}
console .log(getObjectType (n ))
</script> |
「梦想一旦被付诸行动,就会变得神圣,如果觉得我的文章对您有用,请帮助本站成长」
共 0 条评论关于"原生javascript数据类型判断方法汇总集合"
最新评论