乐趣区

关于前端:判断对象的类型

判断变量的类型

1、通过 typeof 来判断

写法:typeof 变量 或者 typeof(变量)
typeof 只能判断 number、string、boolean、function、undefined 五种值

// 举例
var a = 1;
var isF = true;
console.log(typeof a) // number
console.log(typeof isF) //boolean

2、通过 instanceof 来判断

用法:object instanceof constructor
判断 object 原型链上是否有 constructor.prototype

// 举例
var arr = [1,2,3];
console.log(arr instaceof Array); //true

3、通过 constructor 属性判断

在构造函数上都有一个 constructor 属性, 创立进去的实例会继承这个属性, 通过该属性能够失去变量类型。留神:null 和 undefined 没有这个属性

// 举例
var str = 'abc';
console.log(str.constructor) //[Function String]

4、通过借用 Object 的 toString 办法

通过 Object.prototype.toString.call(obj), 失去的是一个字符串, 字符串是一个数组, 数组第一项是 object, 第二项是变量类型。

// 举例
var arr = [1,2,3];
console.log(Object.prototype.toString.call(arr)) 
// [object Array]
退出移动版