前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >js类型判别大合集

js类型判别大合集

作者头像
IT人一直在路上
发布2019-09-18 10:34:48
7640
发布2019-09-18 10:34:48
举报
文章被收录于专栏:前端重点笔记

1.typeof

number,string,boolean,undefined,symbol,object,function

对象中除了函数为function,其他对象都判别为object,

缺陷:不能具体判别对象属于哪一类,只是都判别为object,甚至连null都判别为object

2.Object.prototype.toString.call()

该方法详解:http://www.cnblogs.com/youhong/p/6209054.html

针对于typeof方法的不足产生的对象判别方法,可以准确判别出内置对象的类型,但对于自定义的对象实例只能都判别为object

可能返回值: [object Number] [object String] [object Boolean] [object Undefined] [object Function] [object Object] [object Array] [object Arguments] [object Math] [object Symbol]

缺陷:无法判别自定义的对象实例

思考为什么要用object原型的tostring方法,而不是直接用数组等对象自己的tostring?

答:因为数组等对象的tostring方法在各自的原型对象里都已经重写过了,不会返回对象类型,而是返回其他的值。

3.A instanceof B

针对Object.prototype.toString.call()的缺陷,又有了instanceof方法,

A instanceof B,表示A的原型链上是否存在B的原型对象,若存在返回true,反之返回false

缺陷:无法对基本类型数据进行判断,当A为基本类型数据时,都返回false

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-05-10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档