JavaScript检测实例属性, 原型属性

前端之家收集整理的这篇文章主要介绍了JavaScript检测实例属性, 原型属性前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

0.前提

JavaScript对象的属性分为两种存在形态. 一种是存在实例中,另一是存在原型对象中.

根据上述,检测属性的时候会出现4种情况

既不存在实例中,也不存在原型对象中 存在实例中,不存在原型对象中 不存在实例中,存在原型对象中 既存在实例中,也存在原型对象中

1.hasOwnPrototype()

hasOwnPrototype()接受一个字符串格式的属性名称,如果实例本身存在该属性(情况2/情况4),返回true. 否则,返回false(情况1/情况3).

代码如下:

2.in操作符

in操作符无论属性是存在实例本身中,还是原型对象中,就会返回true(情况2/情况3/情况4); 否则,返回false(情况1).

代码如下:

3.检测存在原型的属性

结合in操作符和hasOwnProperty()就可以自定义函数来检测原型中是否存在给定的属性.

代码如下:

原型中存在给定属性,返回true(情况3). 否则返回false(情况1/情况2/情况4).

以上就是本文的全部内容了,希望大家能够喜欢

猜你在找的JavaScript相关文章