我正在学习有关在JavaScript中创建对象的信息。当我这样做...

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

我知道我正在创建一个人类的实例,但是我不知道(或是否)我可以重复使用该课程来创建另一个实例。 JavaScript具有什么OOP功能?它是否具有与Java或Ruby等其他语言相同的OO功能?有人可以解释一下JavaScript如何OOP吗?

有帮助吗?

解决方案

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

要创建一类类型的人,您将要做:

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

var somebody = new Person();

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

其他提示

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

你可以做:

var john = Object.create(Person);

或者您可以使用 new 关键词:

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

var john = new Person();

有关更多信息,请阅读:

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

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

他有几篇不错的JavaScript文章。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top