js中的类型判断

一: typeof (推荐)

实用性: 可以检测出来undefined、object、boolean、number、string、object、function, Null 和 Object 类型都返回了 object 字符串;

局限性: Object 下还有很多细分的类型呐,如 Array、Function、Date、RegExp、Error 等无法检测出来。

       e.g.   typeof {} // "object"      typeof null // "object"
复制代码

二:constructor

原型上的 constructor被遗传到了新创建的对象上,使得新对象诞生后具有可追溯的数据类型。 e.g. [].constructor == Array // true

三: instanceof

用来判断 A 是否为 B 的实例对 注意:instanceof检测的是原型,只能用来判断两个对象是否属于原型链的关系, 而不能获取对象的具体类型。

四: Object.prototype.toString (推荐)

优势:可以识别至少 14 种类型(number, string, boolean, und, nul, obj, array, date, error, reg, func,Math,JSON,Arguments

 e.g. console.log(Object.prototype.toString.call(Math)); // [object Math]
复制代码

参考文章:

1,JavaScript专题之类型判断(上) github.com/mqyqingfeng…

2,判断JS数据类型的四种方法 www.cnblogs.com/onepixel/p/…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值