javascript原型 ,原型链

    xiaoxiao2022-07-13  119

       1. 原型prototype

    每个函数被创建的时候都会有一个prototype属性,这个属性会指向函数的原型对象。默认情况下每个原型对象又都会获取一个constructor属性,这个属性包含一个指向prototype属性所在函数的指针。

    function Person() { } console.log(Person.hasOwnProperty("prototype")); console.log(Person.prototype)

        2  原型对象 

     首先,每个函数被创建的时候都会有一个prototype属性,prototype的值是一个对象。这个对象就是这个析构函数的原型对象,这个对象上面的方法和属性可以被实列所访问到。通过 prototype可以设置和访问原型对象上的方法。

    function Person() { } //console.log(typeof Person.prototype)//Object Person.prototype.name="哈哈"; //console.log(Person.prototype.name)//哈哈 //delete Person.prototype.name;//也可以删除属性 //console.log(Person.prototype); Array.prototype.sort=function() { return "方法被改写了"; } var a=[1,2,3]; var newarr=a.sort(); console.log(newarr)

     

     3 原型链 

    说原型链 ,就先说原型对象,实列可以访问到原型对象上的方法,和属性,如果该原型对象上没有实列所访问的对象或者方法, 那么实列就会去该原型对象.__proto__所指的原型对象上去找。

    function person() { } function student() { } student.prototype.__proto__=person.prototype; //person.prototype.name="haha"; //student.prototype.name="ha" var stu=new student(); console.log(stu.name);

     

    最新回复(0)