2013-09-25 150 views
-3

我試圖在JavaScript中模擬一個類。我是新來的(也是對計算器)Javascript模擬類

並想學習。有人給了我java解釋它,但它不起作用。我究竟做錯了什麼?

function rectangle (width,height,x,y,jumping) 
{ 
    return { x: x, 
      y: y, 
      width: width, 
      height: height, 
      jumping: jumping}; 
} 

var ava = new rectangle (5,5,10,20,10); 

alert (x.ava) ; 

幫助表示讚賞提前 謝謝(我希望我這後右)

編輯:謝謝菲利普:)

+0

請定義「不起作用」。你期望會發生什麼,而發生什麼呢?瀏覽器的Javascript錯誤控制檯中是否有一些有趣的內容? – Philipp

+0

你需要'ava.x'。 –

+0

請花時間閱讀幫助頁面,瞭解如何以及詢問哪些類型的問題。預計對問題有最少的瞭解。刪除Clojure標籤。這不是Clojure。 –

回答

0

以及您的變量不是 「X」

var ava = new rectangle (5,5,10,20,10); 
alert (x.ava); You are looking for a variable x with a property of ava 

當你運行你的代碼時,你會得到錯誤:

Uncaught ReferenceError: x is not defined

您想使用具有屬性的變量。你應該把它寫成:

alert (ava.x); 
+0

你是什麼意思?我想要ava的x座標。我應該輸入什麼? – Bosiwow

+0

@ user2815780仔細閱讀答案。他已經回答了。 –

+0

你先生救了我很多時間:)謝謝;) – Bosiwow

1

試試這個。

// this is how you write a class 
function Rectangle(width, hight, x, y, jumping) { 
    this.x = x; 
    this.y = x; 
    this.width = width; 
    this.height = height; 
    this.jumping = jumping; 
} 

var ava = new Rectangle(5, 5, 10, 20, 10); 
alert(ava.x); 

也是你的變量是ava,並呼籲x你弄錯了x.ava

+0

使用this.x = x而不是x:x的區別是什麼? – Bosiwow

+0

我不認爲這是寫對象/類的方式 – Christopher

+0

我可以問你如何爲該類添加一個setter,只是爲了舉例嗎? – Bosiwow