在JavaScript中引用子构造函数中的父构造函数属性
Reference Parent Constructor Properties in Child Constructor in JavaScript
我有以下
function mild_bird(){
this.name = "catherine";
this.origin = "st petersburg";
this.location = "brighton beach";
}
mild_bird.prototype.get_info = function(){
return "poo" + ", " + "pee";
}
function wild_bird(nickname){
this.nickname = nickname;
//anyway to reference parameters in mild_bird constructor's?
this.name = mild_bird.prototype.name;
this.origin = mild_bird.prototype.origin;
this.location = mild_bird.prototype.location;
}
wild_bird.prototype = new mild_bird();
wild_bird.prototype.constructor = wild_bird;
var the_wild_bird = new wild_bird("sandy");
alert(the_wild_bird.name);
最后一行的警报返回undefined。我希望它返回"凯瑟琳"。是否可以将mild_bird构造函数中的属性传递给wild_bird的构造函数?
您必须在子构造函数中调用父构造函数。使用.call(this)
可以确保将上下文设置为由子构造函数创建的对象。
function wild_bird(nickname){
mild_bird.call(this);
this.nickname = nickname;
}
回避您的问题:
在JavaScript 中引用子构造函数中的父构造函数属性
读一读John Resig的简单继承模型——它应该会为你澄清问题。
相关文章:
- 正在重置原型对象的构造函数属性
- 如何将新的构造函数属性推送到数组
- 通过构造函数属性和运算符实例设置继承
- 角度表达式无法使用构造函数属性分辨变量类型
- Javascript“构造函数”属性中的错误 - IE 8
- 构造函数属性值应该是什么 .a 原型构造函数或对象构造函数本身
- 在JavaScript中引用子构造函数中的父构造函数属性
- instanceof和构造函数属性之间的差异
- JS中的prototype和构造函数属性
- 为什么每个javascript对象都有构造函数属性
- Javascript-Object.getOwnPropertyNames不显示构造函数属性
- Javascript中的构造函数属性是什么?
- Javascript -为什么要循环?(原型属性->构造函数属性->函数对象->构造函数属性)
- 在Javascript中构造函数属性是否有很好的用例?
- RegExp构造函数属性输入
- 对象'的构造函数属性被省略
- Javascript构造函数属性在事件被调用后变为未定义
- 函数的原型属性如何影响对象的构造函数属性
- 理解javascript中的构造函数属性
- JavaScript构造函数属性不能被识别