学习笔记

379 阅读1分钟

www.zhihu.com/question/56…

原型方式

function Person(name, age){
        this.name = name;
        this.age = age;
    }

    Person.prototype.sayHi = function(){
        console.log("你好,我叫 " + this.name);
    }

    let person = new Person('frank', 18)
    person.name === 'frank' // true
    person.age === 18 // true
    person.sayHi() // 打印出「你好,我叫 frank」

    let person2 = new Person('jack', 19)
    person2.name === 'jack' // true
    person2.age === 19 // true
    person2.sayHi() // 打印出「你好,我叫 jack」

类方式

    class Person {
        constructor(name, age) {
            this.name = name;
            this.age = age;
        }
        sayHi(){
            console.log("你好,我叫 " + this.name);
        }
    }

    let person = new Person('frank', 18)
    person.name === 'frank' // true
    person.age === 18 // true
    person.sayHi() // 打印出「你好,我叫 frank」

    let person2 = new Person('jack', 19)
    person2.name === 'jack' // true
    person2.age === 19 // true
    person2.sayHi() // 打印出「你好,我叫 jack」