1.数据类型
基本(值)类型
string:任意字符串 Number:任意数字 boolean:true/false undefined:undefined null:null
对象(引用)类型
Object:任意对象 function:一种特别的对象(可以执行) Array:一种特别的对象(数值下标,内部数据有序)
2.判断
typeof (返回数据类型的字符串表达):可以判断undefined / 数值 / 字符串 / 布尔值
不能判断null与object object与array(判断时均返回的是object)
instanceof (判断对象的具体类型)
===/== (最好用前面一种,后面一种会隐式转换):===可以判断undefined / null
//1.基本类型
var a;
console.log(a,typeof a,typeof a==='undefined',a===undefined);// undefined 'undefined' true true
console.log(undefined==='undefined');
a = 4;
console.log(typeof a==='number');
a = 'absdfh';
console.log(typeof a==='string'); // 小写 true
console.log(typeof a==='String'); // 大写 false
a = true;
console.log(typeof a==='boolean');
a = null
console.log(typeof a,a===null); // 'object'
//2.对象
var b1 = {
b2:[1,'abc',console.log],
b3:function () {
console.log('b3');
}
}
// instance 实例 可以理解为 b1是Object的实例
console.log(b1 instanceof Object,b1 instanceof Array); // true false
console.log(b1.b2 instanceof Object,b1.b2 instanceof Array); // true true
console.log(b1.b3 instanceof Object,b1.b2 instanceof Function); // true true