2021.6.28 JS私有和公有属性的检测
程序员文章站
2022-07-13 22:39:53
...
检测对象的私有属性
Object.prototype对象中实现的hasOwnPrototype方法
- 用法:f.hasOwnPrototype(‘x’)
- 检测x是否为f的私有属性
检测对象的属性
in操作符
- 用法:‘x’ in f
- 检测x是否为f的属性
检测对象的共有属性(自己实现)
思路:检测当前属性是否出现在当前对象的原型链上
- 对象属性的私有和公有是相对而言的,对子类是公有的属性可能对父类是私有属性
Object.prototype.hasPubPrototype = function hasPubPrototype(attr) {
let proto = Object.getPrototypeOf(this);
while(proto) {
if(proto.hanOwnPrototype(attr)) return true;
proto = Object.getPrototypeOf(proto);
}
return false;
}
推荐阅读
-
荐 javascript从入门到跑路-----小文的js学习笔记(17)------动态属性、复制变量值、传递参数和检测类型
-
函数的公有属性和私有属性
-
2021.6.28 JS私有和公有属性的检测
-
js类中的公有变量和私有变量_javascript技巧
-
js面向对象之公有、私有、静态属性和方法详解_javascript技巧
-
荐 javascript从入门到跑路-----小文的js学习笔记(17)------动态属性、复制变量值、传递参数和检测类型
-
js面向对象之公有、私有、静态属性和方法详解_javascript技巧
-
JS面向对象(3)之Object类,静态属性,闭包,私有属性, call和apply的使用,继承的三种实现方法_javascript技巧
-
JS面向对象(3)之Object类,静态属性,闭包,私有属性, call和apply的使用,继承的三种实现方法_javascript技巧