美文网首页
浅谈prototype和构造函数

浅谈prototype和构造函数

作者: JRSS | 来源:发表于2017-08-01 14:11 被阅读0次

构造函数

    function Animal(name) {
        this.name = name;
        this.eat = function() {
            console.log(this.name + "吃老鼠");
        }
    }
    var a = new Animal('猫');
    var b = new Animal('狗');
    console.log(a.eat == b.eat);    //false


构造函数生成的对象实例中的方法eat,在各自的实例上面都创建为新的函数,两个函数各自引用自己的内存,造成资源的浪费

prototype

function Person(name) {
        this.name = name;
    }
    Person.prototype.eat = function() {
        console.log(this.name + '吃早餐');
    }
    var aa = new Person('张三');
    var bb = new Person('李四');
    console.log(aa.eat == bb.eat); //true
张三
李四

prototype生成的对象实例中的方法eat,共同引用Person原型上面的eat方法,节省资源

总结

推荐使用prototype创建对象,更节省内存,更有效率。

相关文章

  • 浅谈prototype和构造函数

    构造函数 构造函数生成的对象实例中的方法eat,在各自的实例上面都创建为新的函数,两个函数各自引用自己的内存,造成...

  • 原型链继承

    构造函数的prototype属性 实例和构造函数和原型父构造函数的实例作为子构造函数prototype属性,则实现...

  • ES6 原型和原型链

    1、构造函数和原型 prototype(1)原型prototype:每个构造函数[https://baike.ba...

  • prototype与__proto__的区别

    实例的__proto__ == 构造函数的prototype prototype是针对构造函数的(函数的内置属性)...

  • JavaScript - 原型对象

    原型对象 构造函数的 prototype 对象称为原型对象。 Student.prototype 是构造函数 St...

  • Javascript原型与原型链的理解

    说明 prototype属性​ prototype 存在于构造函数中 (其实任意函数中都有,只是不是构造函数的时候...

  • javascript深入理解系列(三)——constructor

    prototype对象有一个构造函数,默认指向prototype对象所在的构造函数 因为constructor属性...

  • JS原型

    JS原型 构造函数和对象 函数的prototype 函数具有prototype属性,它的指向是什么呢?答案是: 它...

  • 1.原型和原型链

    构造函数创建对象 我们先使用构造函数创建一个对象: prototype 每个函数都有一个 prototype 属性...

  • 浅谈javaScript继承

    原型和构造函数 prototype属性对Object添加属性和方法 构造函数实例化过程 原型和继承 简单继承 继承

网友评论

      本文标题:浅谈prototype和构造函数

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