基本的数据类型:
主要分为简单数据类型和复杂数据类型
简单的数据类型:Number、String、Boolean、null、undefined
复杂的数据类型:Arry、Object、Function
判断方法
简单的数据类型
typeof(所有的类型都可以用)
// Number类型
var num = 12;
console.log(typeof num === 'number');
// console.log(num instanceof Number);//不能判断
//String类型
var str = "fgbb";
console.log(typeof str === 'string');
// console.log(str instanceof String);//不能判断
//Boolean类型
var tag = true;
console.log(typeof tag === 'boolean');
//null
var nu = null;
console.log(typeof nu === 'object');
//undefined
var un;
console.log(typeof un === 'undefined');
复杂的数据类型
Arry:
var arr = [1,2,3,4,5,6,7,8];
Object:
var obj = {
name: "zs",
age: 18
}
Function:
function fn(){}
以下是上面三种复杂数据类型的分别判断
// instanceof
console.log(obj instanceof Object);
console.log(arr instanceof Array);
// __proto__
console.log(arr.__proto__ === Array.prototype);
console.log(obj.__proto__ === Object.prototype);
console.log(fn.__proto__ === Function.prototype);
console.log(Array.prototype.isPrototypeOf(arr));
console.log(Object.prototype.isPrototypeOf(obj));
console.log(Function.prototype.isPrototypeOf(fn));
console.log(Object.getPrototypeOf(arr) === Array.prototype);
console.log(Object.getPrototypeOf(obj) === Object.prototype);
// console.log(Function.getPrototypeOf(fn) === Function.prototype);//不能判断是否为一个函数
// constructor
console.log(arr.constructor === Array);
console.log(obj.constructor === Object);
console.log(fn.constructor === Function);
// es6新增的判断数组的方法
console.log(Array.isArray(arr));