首頁 > web前端 > js教程 > 如何定義 JavaScript 物件的建構函數?

如何定義 JavaScript 物件的建構函數?

Barbara Streisand
發布: 2024-11-05 01:02:02
原創
840 人瀏覽過

How do you define constructors for JavaScript objects?

JavaScript 物件中的建構子

JavaScript 不像其他物件導向語言(例如 Java 或 C)那樣支援傳統意義上的類別。然而,它提供了一種獨特的機制來使用原型為物件定義建構函數。

使用原型:

JavaScript 物件有一個原型屬性,可用於新增方法和該物件的所有實例的屬性。要使用原型定義建構函數,我們建立一個函數並將其指派給物件的原型:

<code class="javascript">function Box(color) { // Constructor
    this.color = color;
}

Box.prototype.getColor = function() {
    return this.color;
};</code>
登入後複製

此建構函式採用顏色參數並將其儲存在物件的 color 屬性中。它還在原型中添加了一個 getColor 方法,該方法可以被 Box 物件的所有實例存取。

隱藏私有屬性:

而JavaScript 沒有true私有成員,我們可以使用一種技術來模擬私有屬性:

<code class="javascript">function Box(col) {
   var color = col;

   this.getColor = function() {
       return color;
   };
}</code>
登入後複製

在這個例子中,顏色變數在建構函數中被宣告為局部變數。不能從構造函數外部直接存取它。但是,我們提供了一個 getColor 方法,它會傳回顏色變數的值。

用法:

要建立Box 物件的實例,我們使用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 允許我們為物件定義建構函數,並在一定程度上模擬封裝。

以上是如何定義 JavaScript 物件的建構函數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板