2013-09-25 91 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