JavaScript如何实现OOP?
我正在学习用JavaScript创建对象。当我这么做的时候JavaScript如何实现OOP?,javascript,oop,javascript-objects,Javascript,Oop,Javascript Objects,我正在学习用JavaScript创建对象。当我这么做的时候 var Person = { name: "John Doe", sayHi: function() { alert("Hi"); } }; 我知道我正在创建Person类的实例,但我不知道如何(或是否)重用该类来创建另一个实例。JavaScript有哪些OOP特性?它是否与其他语言(如Java或Ruby)具有相同的OO特性?有人能解释一下JavaScript是如何进行OOP的吗?在您的示例中,您没有创建Pe
var Person = {
name: "John Doe",
sayHi: function() {
alert("Hi");
}
};
我知道我正在创建Person类的实例,但我不知道如何(或是否)重用该类来创建另一个实例。JavaScript有哪些OOP特性?它是否与其他语言(如Java或Ruby)具有相同的OO特性?有人能解释一下JavaScript是如何进行OOP的吗?在您的示例中,您没有创建Person类的实例。您正在创建名为“Person”的变量,该变量包含匿名对象 要创建Person类型的类,请执行以下操作:
function Person() {
this.name = "John Doe",
this.sayHi = function() {
alert("Hi");
}
}
var somebody = new Person();
否则我认为你的问题太宽泛和复杂了。网上有很多javascript文章和教程(书店里也有书)。去研究它们,如果你不明白一些具体的东西,就在这里发布。Crockford有一些很好的解释等。JavaScript不使用类。它使用原型。创建新对象有多种方法 你可以做:
var john = Object.create(Person);
或者您可以使用new
关键字:
function Person() = {
this.name = "John Doe",
this.sayHi = function() {
alert("Hi");
}
};
var john = new Person();
欲了解更多信息,请阅读:
他有几篇好的Javascript文章。有几篇好的在线资源可供阅读:
@orolo,你应该把你的评论转换成一个答案,这很好。事实上,你例子中的
人是一个单一的对象,而不是一个类。类通常被定义为函数(然后被更新)。尝试查看类继承的解释等@Cameron:+1。我打算在回答中提出这个链接。我喜欢回到那篇关于对象行为的文章。