基於JavaScript自訂建構函式的詳解說明

來源:互聯網
上載者:User

Javascript並不像Java、C#等語言那樣支援真正的類。但是在js中可以定義偽類。做到這一點的工具就是建構函式和原型對象。首先介紹js中的建構函式。

Javascript中建立對象的文法是在new運算子的後面跟著一個函數的調用。如

複製代碼 代碼如下: var obj = new Object();
var date = new Date();

運算子new首先建立一個新的沒有任何屬性的對象,然後調用該函數,把新的對象作為this關鍵字的值傳遞。
var date = new Date()的虛擬碼的實現就是

var obj = {};

var date = Date.call(obj);

建構函式的作用就是初始化一個新建立的對象,並在使用對象前設定對象的屬性。如果定義自己的建構函式,只需要編寫一個為this添加屬性的函數就可以了。下面的代碼定義了一個建構函式:

複製代碼 代碼如下: function Rectangle(w, h)
{
this.width = w;
this.height = h;
}

然後,可以使用new運算子調用這個函數來建立對象的執行個體

var rect = new Rectange(4,8);

建構函式的傳回值

Javascript中的建構函式通常沒有傳回值。但是,函數是允許有傳回值的。如果一個建構函式有一個傳回值,則返回的對象成為new運算式的值。在此情況下,作為this的對象將會被拋棄。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.