Javascript 主类的访问字段
我有一些课程叫汽车和发动机Javascript 主类的访问字段,javascript,oop,Javascript,Oop,我有一些课程叫汽车和发动机 class Car { constructor() { this.engine = new Engine(); this.start = false; } startCar() { // some code } } class Engine { startEngine() { if(start == false) { // Car.start
class Car {
constructor() {
this.engine = new Engine();
this.start = false;
}
startCar() {
// some code
}
}
class Engine {
startEngine() {
if(start == false) { // Car.start
startCar() // Car.startCar
}
}
}
我想调用startCar方法并从startEngine方法访问start字段。有没有其他方法可以访问这些字段和方法而不将它们作为参数提供给Engine类?您可以在汽车的构造函数中绑定startEngine()方法:
constructor() {
this.engine = new Engine();
this.start = false;
this.engine.startEngine = this.engine.startEngine.bind(this);
}
然后您可以在startEngine方法中使用“this”:
class Engine {
startEngine() {
if(this.start == false) { // Car.start
this.start = true;
}
}
}
class Engine {
startEngine() {
if(this.start == false) { // Car.start
this.startCar();
}
}
}
并从汽车的startCar()方法访问引擎的startGene()方法:
您还可以从startEngine()方法内部访问startCar()方法:
class Engine {
startEngine() {
if(this.start == false) { // Car.start
this.startCar();
}
}
}