2013-05-28 58 views
2
function Box(width, height) 
{ 
    this.width = width; 
    this.height = height; 
} 

var myBox = new Box(5,5); 
  1. 什麼是new關鍵字在技術上這裏做?它創造了一個新的功能嗎?還是創建一個新對象並將其應用於它?這在JavaScript函數中引用了什麼?

  2. 如果是這樣,那麼這是一種創建「框」的方法,這是否意味着this關鍵字實際上是指對象myBox?

+0

在這裏看到:HTTP://www.quirksmode .org/js/this.html –

+1

面向對象程序設計的基本原理ING。更好地找到一個好的首發指南oop – Sharky

+0

我投票結束這不是一個真正的問題,因爲它是一個有點太廣泛IMO。 – zzzzBov

回答

9

它創建一個新對象,使用Box作爲其構造函數。在這種情況下,this的值(當使用關鍵字new調用該函數時)是正在構建的新實例。這個新對象將繼承任何被定義爲Box.prototype(默認爲Object.prototype)。

我說在這種情況下是,因爲在JavaScript中this的值是由函數的調用方式決定的。我建議閱讀MDN page on this瞭解更多信息。


注意:如果此問題應該被關閉,它應該是重複的。下面是一些可能重複的鏈接,也可能有助於您:

相關問題