2

我正在学习如何在 JavaScript 中创建对象。当我这样做...

var Person = {
   name: "John Doe", 
   sayHi: function() {
   alert("Hi");
   }
};

我知道我正在创建一个 Person 类的实例,但我不知道如何(或是否)可以重用该类来创建另一个实例。JavaScript 有哪些 OOP 特性?它是否具有与其他语言(如 Java 或 Ruby)相同的 OO 特性?有人可以解释一下JavaScript是如何做OOP的吗?

4

5 回答 5

3

在您的示例中,您没有创建 Person 类的实例。您正在创建一个名为“Person”的变量,其中包含一个匿名对象。

要创建一个 Person 类型的类,您将执行以下操作:

function Person() {
   this.name = "John Doe", 
   this.sayHi =  function() {
   alert("Hi");
   }
}

var somebody = new Person();

否则,我认为您的问题过于广泛和复杂。网络上有很多 javascript 文章和教程(书店里也有书籍)。去研究它们,如果您不了解特定的内容,请在此处发布。

于 2010-10-08T20:44:37.697 回答
3

JavaScript 不使用类。它使用原型设计。有多种创建新对象的方法。

你可以这样做:

var john = Object.create(Person);

或者你可以使用new关键字:

function Person() = {
   this.name = "John Doe", 
   this.sayHi = function() {
     alert("Hi");
   }
};

var john = new Person();

欲了解更多信息,请阅读:

于 2010-10-08T20:46:33.713 回答
2

克罗克福德在这里有一些很好的解释等等。

于 2010-10-08T20:46:32.730 回答
1

有几个很好的在线资源可供阅读:

  1. 麦考斯
  2. 克罗克福德
  3. JavaScript 导师
  4. 鲁尼
  5. 站点点
于 2010-10-08T21:00:57.253 回答
0

查看 Oran Looney 的文章: http: //oranlooney.com/classes-and-objects-javascript/

他有几篇很好的 Javascript 文章。

于 2010-10-08T20:58:01.877 回答