我还在搞清楚如何使用p5.js.在常规java中,您必须使用其数据类型ex来声明每个变量。 int foo = 0
。
在p5中,我知道您可以使用var foo
,但您也可以使用this.foo
声明变量。如果有人可以澄清何时适合使用var
以及何时可以使用this
,那将非常有用。
例如,如果我想在方法中声明变量,我应该使用var foo = thing
还是可以使用this.foo = thing
声明它?在声明全局变量或引用传递给方法的对象时,我应该使用什么?
谢谢!
答案 0 :(得分:1)
首先,p5不是一种语言,它是一个Javascript库,你是用Javascript编写的,而不是p5。
提出您的问题,如果您想将某个函数用作数据类型,类似于java中的类,并希望其中的所有“实例”都有自己的不同变量,则使用this
。如果它们只是您在某种程度上使用的变量,但不需要特定于每个实例,或者如果该函数不是构造函数并且不能用作数据类型,那么您将只使用var
然后
同样,javascript中没有类的东西,你必须编写所谓的构造函数来“模拟”一个java类,但要注意构造函数不应该返回任何东西。以下是java中的car
类的示例:
class car {
int speed = ___;
String model = ___;
static int numOfWheels = ___;
}
这是javascript(构造函数)中的样子:
function car() {
this.speed = ____;
this.model = ____;
var numOfWheels = ___;
}
如果声明一个没有this
的变量,它可以粗略地与java类中的静态变量进行比较,因为它在所有实例中都是常量。
所以基本上,至少在大多数情况下,你通常会在构造函数中使用this.varName
,即你将用来构造对象的函数。
在声明全局变量或引用传递给方法的对象时,我应该使用什么?
全局变量几乎总是var something = something
。当引用传递给函数的对象时,只需使用点符号来引用其属性,如passedObject.someProperty
我建议你在直接跳到p5之前学习Javascript,这里有一些我开始学习Javascript时有用的资源 -