js判断数据类型常用的方法,不论在开发中开始在面试中,都是经常遇到的问题,尤其是在面试时,当面试官问及js判断数据类型的方法时,回答的越多,说明掌握的广度跟深度越多,感觉自己逼格也越高.废话不多说了,进入正题
常见的判断js数据类型的方法有如下几种
1.最常见的判断方法:typeof
2.已知对象类型: instanceof
3.对象原型链判断方法: prototype 通用但很繁琐
4.根据对象的构造器constructor进行判断
5.jQuery方法: jquery.type()
6.严格运算符: ===
下面依次说下每个方法的写法跟结果
一.typeof
其中typeof返回的类型都是字符串形式,需注意!!!!!

二.instance of
注意:instanceof 后面一定要是对象类型,并且大小写不能错,该方法适合一些条件选择或分支。

三.对象原型链判断方法: Object.prototype.toString.call()
适用于所有类型的判断检测,注意区分大小写. toString方法,在Object原型上返回数据格式,
四.根据对象的constructor进行判断
constructor 判断方法跟instanceof相似,但是constructor检测Object与instanceof不一样,constructor还可以处理基本数据类型的检测,不仅仅是对象类型
注意:
1.null和undefined没有constructor;
2.判断数字时使用(),比如 (123).constructor,如果写成123.constructor会报错
3.constructor在类继承时会出错,因为Object被覆盖掉了,检测结果就不对了

五.jQuery方法: jquery.type()
据说是无敌万能的方法.如果对象是null跟undefined,直接返回"null"和"undefined",
注意:在使用时,一定要引入jquery文件,不然会报错,jQuery is not defined
六.有局限的判断:严格运算符===
通常===出现在我们的条件判断中,比如判断一个变量是否为空,变量是否为数据等,示例如下
总之:
一般变量用typeof,
已知对象类型用instanceof,
通用方法Object.prototype.toString.call()
jQuery项目万能方法jQuery.type()
欢迎大家批评指正
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.mushiming.com/mjsbk/11918.html