javascrip中有几种判断数据类型的办法,不同的场景使用不同的方法 typeof 、 Object.prototype.toString.call 、 instance of
typeof
typeof 是一个一元运算,放在一个运算数之前,运算数可以是任意类型。
返回值是一个字符串,该字符串说明运算数的类型。
typeof 一般只能返回如下几个结果:number, boolean, string, function, object, undefined 。一般可以使用 typeof 来获取一个变量是否存在,如
|
而不要去使用 if(a) 因为如果 a 不存在(未声明)则会出错,对于 Array , Null 等特殊对象使用 typeof 一律返回 object ,这正是 typeof 的局限性。
Object.prototype.toString.call
1. 判断基本类型:
|
2. 判断原生引用类型:
|
instance of
instanceof 用于判断一个变量是否某个对象的实例,如
|
会返回 true,同时 alert(a instanceof Object) 也会返回 true ; 这是因为 Array 是 object 的子类。
但是当我们用变量直接赋值时,它不是由构造函数产生的, instanceof 为 false
|
- 本文作者: luckyship
- 本文链接: https://luckyship.github.io/2021/01/01/2021-01-01-js-data-type-judge/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!
