JavaScript 物件可以有建構子。與其他程式語言不同,JavaScript 不使用像建構函數這樣的特殊關鍵字來定義建構函式。相反,構造函數是使用原型創建的。
使用原型建立建構子:
在此方法中,使用大寫名稱建立建構子。在建構函數內部,使用 this 關鍵字指派物件的屬性。為了存取使用此建構函式建立的所有物件的屬性和方法,將建立一個原型。原型可以包含從此建構函式建立的所有物件都將繼承的方法和屬性。
<code class="javascript">function Box(color) // Constructor { this.color = color; } Box.prototype.getColor = function() { return this.color; };</code>
在此範例中,建構函式 Box 接受參數 color 並將其指派給物件的 color 屬性。 Box 建構函式的原型定義了一個名為 getColor 的方法,該方法傳回物件的顏色屬性。
隱藏私有成員:
要隱藏外部存取的屬性,變數可以在建構函式內部聲明,並且只能透過方法存取。這不是真正的私有成員,但它提供了某種形式的封裝。
<code class="javascript">function Box(col) { var color = col; this.getColor = function() { return color; }; }</code>
在此範例中,顏色屬性在建構函式內部宣告為變量,並且在建構函式外部不可存取。 getColor 方法提供對 color 屬性的存取。
用法:
要使用建構子建立對象,需要使用 new 關鍵字。以下程式碼展示了建構子的用法:
<code class="javascript">var blueBox = new Box("blue"); alert(blueBox.getColor()); // will alert blue var greenBox = new Box("green"); alert(greenBox.getColor()); // will alert green</code>
以上是如何在 JavaScript 物件中建立建構函式?的詳細內容。更多資訊請關注PHP中文網其他相關文章!