访问父“;这个“;变量,来自继承类
Access parent "this" variables, from inherited class
我知道这很简单,可能在某些地方我不确定该寻找什么"类继承"?我正在尝试从货物中访问船的this
功能。想法?
var Ship = function() {
this.id = Math.floor(Math.random() * 1000000);
};
var Cargo = function(){
this.id = Math.floor(Math.random() * 1000000);
}
Cargo.prototype.push = function(string){
return string;
}
Ship.prototype.cargo = Cargo;
module.exports = Ship;
原型的函数已经可以访问实例的this
。
var Ship=function () {
this.id=Math.floor(Math.random()*1000000);
};
var Cargo=function () {
this.id=Math.floor(Math.random()*1000000);
};
Cargo.prototype.push=function (string) {
return string;
};
Ship.prototype.cargo=function () {
var cargo=new Cargo();
cargo.ship=this;
return cargo;
};
var ship1=new Ship();
var cargo1=ship1.cargo();
var cargo2=ship1.cargo();
alert(cargo1.ship.id===cargo2.ship.id);
var ship2=new Ship();
var cargo3=ship2.cargo();
var cargo4=ship2.cargo();
alert(cargo3.ship.id===cargo4.ship.id);
alert(cargo1.ship.id===cargo3.ship.id);
您可以使用下划线或模仿其来源来扩展对象:
http://underscorejs.org/#extend
http://underscorejs.org/docs/underscore.html#section-78
编辑:我想你想要的就是这个。
var Cargo, Ship, cargo;
Ship = (function() {
function Ship() {}
return Ship;
})();
Cargo = (function() {
function Cargo(ship) {
this.ship = ship;
}
return Cargo;
})();
cargo = new Cargo(new Ship());
alert(cargo.ship);
相关文章:
- 作用域变量未从状态父控制器继承到子控制器
- JavaScript:访问继承子模块中的“封闭”变量
- 继承对象并将变量传递给它,javascript
- 访问父“;这个“;变量,来自继承类
- 使变量继承现有原型的方法
- 为什么允许通过原型继承访问另一个闭包范围内的私有变量
- 由函数继承的 Javascript 变量
- Javascript 从父级中定义的继承类方法访问类变量
- Javascript:继承封装的变量
- 原型继承JavaScript在不同函数中使用变量
- Javascript 中的静态变量继承 (ES6)
- 使用经典继承,在 JavaScript 中使用“类级”/成员变量是一个好主意还是坏主意
- Node.js/变量和模块的继承
- Angularjs将变量传递给具有继承(而非隔离)作用域的指令
- 带有变量的构造函数的Javascript继承
- 使用父对象中的私有变量实现原型继承
- Javascript继承:父's数组变量保留值
- AngularJS中具有ui视图的根控制器的继承变量
- 来自JavaScript继承方法的变量访问
- 带有受保护变量的javascript继承