面向对象

作者: Googler | 来源:发表于2018-07-07 19:40 被阅读3次
        function People(name) {
            this.name = name;
        }
    
        People.prototype.sayName = function () {
            console.log(`my name is ${this.name}`);
        }
    
        var p = new People("Googler");
        p.sayName();
        // 当new一个函数时,发生了什么
        // 1.创建一个空对象,把一个空的对象的__proto__属性设置为People.prototype。
        // 2.执行函数People,函数里面的this代表刚刚创建的新对象。
        // 3.返回这个对象。
        // 注:对于第3步,如果构造函数里有return,分情况讨论。如果是return的是基本类型,会忽略不计。如果return的是引用类型,则返回这个引用类型。
    

    原型图

    prototype.png
    注:任何函数都有prototype这个属性,对应的值是一个对象叫原型对象,这个原型对象可以被由这个函数new的所有对象共享。
    

    结束语

    如果喜欢本文,记得点赞并加关注哟。

    相关文章

      网友评论

        本文标题:面向对象

        本文链接:https://www.haomeiwen.com/subject/wobguftx.html