【发布时间】:2012-06-13 22:42:15
【问题描述】:
可能重复:
How to “properly” create a custom object in JavaScript?
很抱歉,如果之前已经回答过这个问题,但我对在 Javascript 中创建自定义对象方面提供的大量选择感到有点不知所措。我不确定它们各自的优势或劣势,或者它们是否完全不同。
以下是我发现的一些构造对象的不同方法:
1:新对象
person = new Object()
person.name = "Tim Scarfe"
person.height = "6Ft"
person.run = function() {
this.state = "running"
this.speed = "4ms^-1"
}
2:文字符号
timObject = {
property1 : "Hello",
property2 : "MmmMMm",
property3 : ["mmm", 2, 3, 6, "kkk"],
method1 : function(){alert("Method had been called" + this.property1)}
};
3:函数
function AdBox() {
this.width = 200;
this.height = 60;
this.text = 'default ad text';
this.prototype.move = function() {
// code for move method goes here
}
}
this.prototype.display = function() {
// code
}
我什至看到了更多方法,但它们似乎不太常见。如您所见,当有人只想要一个带有字段和方法的简单对象时,我不确定标准是什么。
感谢阅读。
【问题讨论】:
-
在你的
AdBox函数中,它应该是this.move = function而不是this.prototype.move = function。 -
@zzzzBov:是的,我刚刚从here 复制和粘贴。他们说这两种方法都可以,但有区别。
-
@zerkms:哦,这正是我要找的。谢谢!
-
附带说明,
about.com往往没有关于编程语言的非常好的信息。
标签: javascript oop class object prototype