美文网首页
8.对象的原型,原型链call/apply

8.对象的原型,原型链call/apply

作者: Sune小叶子 | 来源:发表于2018-01-22 23:41 被阅读0次

    1.定义:原型function对象的一个属性,它定义了构造函数制造出的对象的公共祖先。通过该构造函数产生的对象,可以继承该原型的属性和方法。原型也是对象。

    2.利用原型特点和概念,可以提取公有属性。

    3.对象如何查看原型-->隐式属性__proto__

    4.对象如何查看对象的构造函数-->constructor

    function Preson(){

    //构造函数,大驼峰式

    }

    var preson = new Preson();

    //new的时候隐式var this ;return this;

    1-1.原型

    Preson.prototype --->就是原型

    Preson.prototype = {}    是祖先

    如果给其添加属性Preson. prototype.name = 'hehe';则preson就可以继承Preson的name属性。preson本身没有name属性,但是他可以继承Preson的name属性。

    var preson1 = new Preson();也可以继承Preson的属性和方法。

    var preson2 = new Preson();

    但是如果对象本身有的属性,就不会上原型上去找。

    原型的增删改查:

    Preson.prototype.age = 18;

    delete  Preson.prototype.age;

    Preson.prototype.age = 20;

    Preson.prototype.age

    就是说只能通过对构造函数原型本身的操作来实现原型的增删改查,而不能通过构造函数产生的对象来对原型做增删改查。

    1-2.constructor

    preson.constructor就是指向产生这个对象的构造函数本身。

    当打印Preson.prototype时可以看见控制台输出浅粉色的constructor属性,浅粉色表示系统自带的属性。表示原型内部自带这个constructor属性,这个属性就是为了让构造函数产生的对象在想要找到它的原型时,用constructor找到它的构造函数。并且可以在原型上面对constructor属性做修改,如:Preson.prototype.constructor = Car

    相关文章

      网友评论

          本文标题:8.对象的原型,原型链call/apply

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