我是 Javascript 新手,想用 Phaser 3 制作简单的游戏,我发现 Javascript 似乎与 C++ 或 Java 等其他 OOP 语言略有不同。我查看了官方网站和其他一些教程页面中的教程,大部分代码如下:
var config = {
...
scene: {
preload: preload,
create: create,
update: update
}
}
var game = new Phaser.Game(config)
function preload(){
this.load.img(...)
}
Run Code Online (Sandbox Code Playgroud)
我的问题是什么是?"this"在preload()指示到?是不是"game"我们之前定义的意思?
以及如何在控制台中检查对象的类?typeof()只告诉"object"。
我只是Java编程的新手,这真让我感到困惑,StringBuilder中方法append()的返回类型是什么?
我已经在https://docs.oracle.com/javase/9/docs/api/index.html?java/lang/String.html上检查过API文档,并且返回的是“ StringBuilder”,所以我应该写像这样的代码:
StringBuilder a=new StringBuilder("hello");
...(another StringBuilder object)=a.append("world");
Run Code Online (Sandbox Code Playgroud)
并且a仍将是“ hello”,而另一个stringbuilder将变为“ helloworld”,因为它具有返回值?
但是实际上一个本身也变成了“ helloworld”。为什么?我误会了什么吗?