我是OOP的新手,但是我对此有所了解。但是,在JavaScript中,我能够以3种不同的方式定义对象,我想知道哪种方法是正确的,也许为什么?为了说明我在说什么,我有以下代码将 test1 , test2 , test3 输出到控制台(这不应该是相同的) ,但仅显示了定义或多或少相同对象的不同方式):
<script>
let Player = {
name: "test1",
hello: function () {
console.log(this.name)
}
}
Player.hello();
//==============
class Playa {
constructor() {
this.name = "test2";
}
hey() {
console.log(this.name);
}
}
var p2 = new Playa();
p2.hey();
//==============
function Person(name) {
this.name = name;
}
Person.prototype.howdy = function () {
console.log(this.name);
};
var p3 = new Person("test3");
p3.howdy();
</script>