使用 JavaScript 从另一个 class 函数调用 class 函数
Calling class functions from another class function with JavaScript
我这里有这段代码:我想做的是从 class B.
中调用位于 class A 中的函数 'counterAdder'
然后我应该创建一个 A 的实例和一个 B 的实例,然后调用 'counterAdder' 函数来更新 A 的 'counter' 项的实例。
当我运行这段代码时,它输出为0,但我需要1。
class A {
constructor(){
this.counter = 0;
}
}
class B{
constructor(){
}
counterAdder(){
A.counter +=1;
}
}
const a = new A();
const b = new B();
b.counterAdder();
console.log(a.counter) // => 1
当来自 'b' 的操作是 运行 时,我似乎无法弄清楚如何让 'a' 更新。
我无法修改 class A 和 class B 之外的任何内容,只能使用纯 JavaScript.
以下代码:
counterAdder(){
A.counter +=1;
}
没有做你想做的事。相反,它添加了一个新的 属性 (或其他东西,我不确定为什么它甚至首先起作用)。您要做的是修改 a
的计数器,即您分配给 A
的变量。所以改为这样做:
counterAdder(){
a.counter +=1;
}
我这里有这段代码:我想做的是从 class B.
中调用位于 class A 中的函数 'counterAdder'然后我应该创建一个 A 的实例和一个 B 的实例,然后调用 'counterAdder' 函数来更新 A 的 'counter' 项的实例。
当我运行这段代码时,它输出为0,但我需要1。
class A {
constructor(){
this.counter = 0;
}
}
class B{
constructor(){
}
counterAdder(){
A.counter +=1;
}
}
const a = new A();
const b = new B();
b.counterAdder();
console.log(a.counter) // => 1
当来自 'b' 的操作是 运行 时,我似乎无法弄清楚如何让 'a' 更新。
我无法修改 class A 和 class B 之外的任何内容,只能使用纯 JavaScript.
以下代码:
counterAdder(){
A.counter +=1;
}
没有做你想做的事。相反,它添加了一个新的 属性 (或其他东西,我不确定为什么它甚至首先起作用)。您要做的是修改 a
的计数器,即您分配给 A
的变量。所以改为这样做:
counterAdder(){
a.counter +=1;
}