美文网首页
2017-12-26

2017-12-26

作者: 小付君 | 来源:发表于2017-12-26 21:42 被阅读0次

js中判断数据类型的几种方法(二)

在上一篇介绍了可以用typeof和toString方法判断一个给定的变量的数据类型的基础上,今天我们来看看如何用另外两种方法constructor、instanceof来进行类型的判断。

一.constructor

1.constructor属性

js中处处皆对象,每个对象身上都会有这个属性,默认指向该对象对应的构造函数,这个属性并不是放在对象身上,而是放在其对应的原型(_proto_)对象身上。

图1.1.1 图1.1.2

2.constructor的应用

格式:obj.constructor == Classes;

返回值:false,true

2.1 判断数据类型

图1.2.1.1 图1.2.1.2 图1.2.1.3 图1.2.1.4 图1.2.1.5 图1.2.1.6

2.2 构造函数

图1.2.2.1 图1.2.2.2

3.constructor判断时存在的问题

construction的值可以设置改变,所以在使用constructor属性做判断的过程中要尤其注意constructor值的变化。

3.1 constructor值变化情景一

图1.3.1.1 图1.3.1.2

3.2 constructor变化情景二

图1.3.2.1 图1.3.2.2

弥补措施:

图1.3.2.3 图1.3.2.4

3.2 constructor变化情景三

图1.3.3.1 图1.3.3.2

弥补措施;

图1.3.3.3 图1.3.3.4

二.instanceof运算符

instanceof 是二元运算符,用来查找对象与其构造函数在原型链上有没有关系。

格式:对象   instanceof  构造函数;

返回值:true、false

1.判断数据类型

图2.1.1 图2.1.2

2.构造函数

图2.2.1 图2.2.2

3.总结

A instance B,用代码表示,其判断过程如下:

图3.1

相关文章

网友评论

      本文标题:2017-12-26

      本文链接:https://www.haomeiwen.com/subject/zitjgxtx.html