我认为问题标题总结得很好,如果不是,让我解释一下:我有一个类,它有一个函数,在函数A中我需要有另一个函数(函数B),它需要访问函数A的变量。我希望这就足够了,我真的找不到任何更好的词来描述这个问题。
bvn4nwqk1#
我想你需要箭头函数
class Some() { constructor() { /* ... */ } A(params) { let localVariable = 1 const B = () => { // here you can access to the context (this) // and to A local variables (params, localVariable ) } } }
如果我没理解错的话。下次请问更具体的问题。尝试分享你的代码。这样更容易理解
nhjlsmyf2#
这听起来像是一个设计问题。这听起来像你试图打破变量作用域规则。在我看来,这就是你想做的:
class some_class { A_function() { let variable1 = 5; } B_function() { let variable1 = 10; } }
“variable1”在A_function中定义,由于作用域规则,B_function无法访问。实际上,A_function中的变量1和B_function中的变量1是不同的变量。然而,一个更好的实现,可能会像你想要的那样工作,更像这样:
class some_class { constructor() { this.variable1 = 5; } A_function() { this.variable1 = 10; } B_function() { this.variable1 = 15; } }
现在,this.variable1被定义为类的一个属性,两个函数都可以访问。任何一个函数都可以修改变量的值。这就是你想要的吗
2条答案
按热度按时间bvn4nwqk1#
我想你需要箭头函数
如果我没理解错的话。下次请问更具体的问题。尝试分享你的代码。这样更容易理解
nhjlsmyf2#
这听起来像是一个设计问题。这听起来像你试图打破变量作用域规则。在我看来,这就是你想做的:
“variable1”在A_function中定义,由于作用域规则,B_function无法访问。实际上,A_function中的变量1和B_function中的变量1是不同的变量。
然而,一个更好的实现,可能会像你想要的那样工作,更像这样:
现在,this.variable1被定义为类的一个属性,两个函数都可以访问。任何一个函数都可以修改变量的值。
这就是你想要的吗