2017-06-03 104 views
0

我還在搞清楚如何使用p5.js。在普通的java中,你必須使用它的數據類型ex來聲明每個變量。 int foo = 0p5.js - 什麼時候使用var聲明變量vs this.varName

在p5中,我知道您可以使用var foo,但您也可以使用this.foo聲明變量。如果有人可以澄清什麼時候適合使用var,何時我可以使用this,那會非常有幫助。

例如,如果我想聲明一個方法內的變量,我應該使用var foo = thing還是我可以使用this.foo = thing來聲明它?在聲明全局變量或引用傳入方法的對象時應該使用什麼?

謝謝!

回答

1

首先,p5不是一種語言,它是一個Javascript庫,您使用Javascript編碼,而不是p5。

回到你的問題,如果你想使用一些函數作爲數據類型,類似於java中的類,並且希望所有的「實例」具有自己的不同變量,那麼使用this。如果它們只是您在某些方面使用的變量,但不需要針對每個實例都具體指定,或者如果函數不是構造函數並且不能用作數據類型,那麼您只需使用var

再一次,在JavaScript中沒有類的東西,你將不得不編寫所謂的構造函數來模擬一個java類,但要知道構造函數不應該返回任何東西。這裏是car類Java中的例子:

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時發現有用的一些資源 -

相關問題