好的,假设我有以下内容:
class Something {
foo = {
a: '123',
get_a() {
return this.a;
}
};
bar = {
b: '456',
get_b() {
return this.b;
},
get_c() {
return this.get_a();
}
};
}
window.s = new Something();
window.s.bar.get_c();
如果我要使用s.bar.get_b()它会返回'456'。在get_b()I can reference 中this.b,它看起来是对bar. 但是,当我尝试调用 时s.bar.get_c(),出现错误:
未捕获的类型错误:this.get_a 不是函数
好吧,根据我对this引用 的理解bar,我想这是有道理的。不过,我不明白我需要做的实际参考foo.get_a()的bar.get_c()。我尝试了各种方法,但似乎没有任何效果,除了使用,s.foo.get_a()但我不想直接引用s对象。我在这里缺少什么?我开始怀疑我从根本上构建了我的班级错误......
编辑:不知道为什么有人觉得需要更新我的帖子以让它执行代码片段..似乎有点矫枉过正¯_(ツ)_/¯
无论如何......我应该提到一件事:实际上我实际上并不是s.foo.get_a()从我的类函数之外的其他一些上下文中调用,这就是为什么我提到不想直接引用该s对象。为了清楚起见,我只是把完整的路径!
长风秋雁
相关分类