JavaScript对象类型之间的区别

时间:2019-02-18 06:47:48

标签: javascript oop

我是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>

0 个答案:

没有答案