一、 对象类型
对象类型一般分为两种 基本(值)类型或者对象(引用)类型
基本数据类型:
Number, 任意数字
String,任意字符串
Boolean, true/false
Null, null
Undefined,undefined
Bigint,
Symbol
对象数据类型:
Object,任意对象
Array , 一种特殊的对象(数值下标,内部数据是有序的)
function 一种特殊的对象 (可以执行)
二、判断数据类型方法
两种方法
1、typeof
可以判断 : undefined /数值/ 字符串/ 布尔值/function
不能判断: null 和 object object 和 array
2、 instanceof
instanceof只能正确判断引用数据类型,而不能判断基本数据类型。
3、代码示例:
<script>
var a
//typeof 返回数据类型的字符串
console.log(a, typeof a, typeof a === 'undefined', a === undefined);
a = null
console.log(typeof a === null);
a = 4
console.log(typeof a === 'number'); //true
a = 'abc'
console.log(typeof a === 'string'); //true
a = true
console.log(typeof a === 'boolean'); //true
a = Symbol('d')
console.log(typeof a === 'symbol'); //true
console.log('```````````````````');
// 对象
var b = {
b2: [1, 2, console.log],
b3: function() {
console.log('b3');
return function() {
return '1234'
}
}
}
// instanceof只能正确判断引用数据类型,而不能判断基本数据类型。
console.log(b instanceof Object, b instanceof Array); //true false
console.log(b.b2 instanceof Array, b.b2 instanceof Object); //true true
console.log(b.b2[2] instanceof Function, b.b2[2] instanceof Object);
console.log(b.b3 instanceof Function, b.b3 instanceof Object); //true true
console.log(typeof b); //object
console.log(typeof b.b2); //object
console.log(typeof b.b2[2] === 'function');
console.log(typeof b.b3 === 'function'); //function