【发布时间】:2020-07-02 12:19:48
【问题描述】:
我正在尝试对我最喜欢的一款网页游戏的 JS 代码进行“逆向工程”。我不是 web 开发的初学者,但 JS 不是我的强项(英语也不是,对不起),我更像是后端程序员。
代码中充满了这样的“对象”:
var Foo = {
prop: {...},
prop2: [...],
bar: function(val) {
this.prop.k = val;
Foo.doSomething();
},
doSomething: function() {
var my = Foo.prop;
...
return this.prop2;
},
};
...somehere on the page...
<input type="text" name="in" value="Pretty text" onclick="Foo.bar(this.value)" />
据我了解,它是由匿名类制成的对象 Foo,使其有些静态。但是我很困惑使用 this 和 Foo 作为对象名称。在我看来,一个或另一个随机使用。它与属性或功能无关,两者都可以使用。即使在相同的方法中使用两者。我认为,在这种情况下 this 和 Foo 相同。当我尝试制作这样的对象并将它们转储到控制台时,this 和 Foo 返回相同。
谁能给我解释一下,请问哪里有区别?或者它可能只是在翻译中丢失了一些东西,因为原始代码被缩小了?
谢谢。
【问题讨论】:
标签: javascript oop static this