一、数据类型检测方法
在js中,有四种用于检测数据类型的方式,分别是:
typeof 用来检测数据类型的运算符
instanceof 检测一个实例是否属于某个类
constructor 构造函数
Object.prototype.toString.call() 原型链上的Object对象的toString方法
下面我们就来分别介绍一下上面四种方法的适用场景和局限性。
1.typeof 用来检测数据类型的运算符
使用typeof检测数据类型,返回值是字符串格式。能够返回的数据类型有6种
是:“number”,“string”,“bolean”,“undefined”,“function”,“object”。
<script>
console.log(typeof(1)); //number
console.log(typeof('hello')); //string
console.log(typeof(true)); //boolean
console.log(typeof(undefined)); //undefined
console.log(typeof(null)); //object
console.log(typeof({})); //object
console.log(typeof(function() {})); //function
</script>
局限性:
typeof (null); //“object”。这是由于在js中,null值表示一个空对象指针,而这也正是使用typeof操作 符检测null值时会返回"object"的原因(笔试面试常考)
不能具体的细分是数组还是正则,还是对象中其他的值,因为使用typeof检测数据