0%

js中如何判断变量类型

前几天碰到一个地方需要在js中判断一个变量是不是对象,参考了几个实现,都不一样,索性自己写一个。要判断变量类型,首先可能会想到typeof或instanceof,但是typeof只用于区分基本类型,instanceof只适合用于区分类的实例,这两个方法通过组合,也能判断出准确类型,但是太复杂,有没有简单点的方法呢?

其实js还提供了一种方式,那就是Object.prototype.toString这个方法,可以通吃基本类型和引用类型。代码如下:

1
2
3
function typeOf (val) {
return Object.prototype.toString.call(val).slice(8, -1).toLowerCase()
}
坚持原创技术分享,您的支持将鼓励我继续创作!