在js 中通常用typeof 和 instanceof 来判断数据的类型、数据是否为空等,两者的区别有哪些?
首先:返回的值不同,typeof返回的是字符串---各个数据类型对应的字符串,而 instanceof 返回的则是一个布尔类型的值---true、false。
typeof 的语法结构: typeof(variate);
备注:简单提及下js的数据类型:
- Number 类型 -------数字类型
- String 类型 ----------字符串类型
- Boolean 类型---------- 布尔类型
- Array 类型-------------数组类型
- Object 类型-----------对象类型
- Null、Undefined ---- 空或未定义
注意,typeof 返回的类型有:number,boolean,string,function,object,undefined,这里并没有Array和Null,因为这两个是属于对象范畴,这里值得注意,也算是typeof的局限吧!
instanceof 是用来判断一个对象是否是某种数据类型或者某个变量是否是一个对象的实例,返回值是true/false,
语法结构为:variate instanceof Object ;
结语:在js中,typeof用的比较广泛,instanceof使用则相对较少,instanceof 的判断比较准确,较适用于精准的判断,不过typeof 也能够实现。两者的使用,看个人爱好,自己选择使用了。另,谢谢查阅!