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).

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

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...