确定成员是否定义在(Javascript)超类中
Determine whether member is defined in (Javascript) super class
我使用"constructor linking "来定义一个基类(Super)。
function Super () {
this.member1 = 'superMember1';
this.member2 = 'superMember2';
}
function Sub() {
Super.call(this, arguments);
this.member3 = 'subMember3';
var t = this.hasOwnProperty("member1"); // gives me true, so I cannot use it
}
如何测试成员(1,2,3)是否在子类或超类中定义(属于)?
注释:' this["name"]'不是这样的,因为我只能决定一个值是否被分配了,而不能决定它是属于Super还是Sub。
正如Darhazer下面评论的那样,构造函数链接复制成员,所以它可能很棘手。
使用hasOwnProperty()检查成员是否在当前类中定义。
您可以检查未定义
if (typeof this.member1 == "undefined") {
//undefined
}
显然就目前的答案而言,是不可能的。
相关文章:
- Javascript”;类“;带有参数的扩展
- Javascript对象类在单击时打开窗口进行颜色选择,并在更改时替换对象背景颜色
- 通过 javascript 访问类
- 如何在javascript中从超类扩充方法
- javascript对象继承-子类和超类
- Javascript继承:从超类的方法设置子类的属性
- 使用 Javascript 创建一个超类(继承)
- JavaScript 原型超类
- Javascript继承,可以访问“超类”中的*所有*方法
- Javascript:从返回超类实例的函数中设置子类原型的好处
- Javascript原型链接超类构造函数和方法调用
- Javascript方法从超类
- JavaScript创建派生类而不调用超类构造函数
- 让instanceof操作符在JavaScript中与多个超类一起工作
- 在JavaScript中,如何访问超类的属性'实例
- 确定成员是否定义在(Javascript)超类中
- Javascript,从重写方法调用超类方法的方便方法
- TypeScript/JavaScript-如何获取类的超类
- TypeScript/JavaScript:如何扫描所有全局类(并按超类进行筛选)
- 在 JavaScript 中调用“超类”构造函数