首先,将解释我的查询的代码
class myClass {
constructor() {
this.myVariable = 10;
}
myFunctionCalledFromStaticFunction() {
console.log (`myFunctionCalledFromStaticFunction myvariable is ${this.myVariable}`);
}
static staticMyFunctionTwo() {
console.log (`staticMyFunctionTwo myvariable is ${this.myVariable}`);
this.myFunctionCalledFromStaticFunction();
}
static staticMyFunction() {
console.log (`staticMyFunction myvariable is ${this.myVariable}`);
myClass.staticMyFunctionTwo();
}
myFunctionTwo() {
console.log (`myFunctionTwo myvariable is ${this.myVariable}`)
myClass.staticMyFunction();
}
myFunction() {
console.log (`myFunction myvariable is ${this.myVariable}`)
this.myFunctionTwo();
}
}
(function ($) {
'use strict';
const helloClass = new myClass();
console.log (`main myvariable is ${helloClass.myVariable}`)
helloClass.myFunction();
myClass.staticMyFunctionTwo();
}(jQuery));
而且,现在是一个codePen示例https://codepen.io/hellouniverse/pen/jYyYre
现在,我不得不放弃一个免责声明。我搜索了stackoverflow,在线和我自己的经验。我很确定这是不可能的。
如果获取代码并运行它或签入代码笔,您会注意到myVariable在静态函数中未定义。另外,我不能从静态函数调用普通函数。
我的陈述正确吗?还是有可能或有解决方法?
我假设您希望通过静态和非静态方法都可以访问原始数据。在这种情况下,您宁愿使用Symbol
或const
。
如何使用符号,您可以在此处阅读:MDN符号
和您修改的示例:使用Symbol
和使用const
关键字
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句