構造函數、原型對象、實例對象三者關係

一,須要瞭解的知識點

構造函數

和普通函數是同樣的,只是調用方式是不同,
eg:瀏覽器

function Person(name,age){
    this.name=name;
    this.age=age;
    this.say=function(){
        return  ("i am forever").join(this.age);  
    }
}

var person = new Person ("andy",18);//須要使用new關鍵字來調用 new Person();
Person ("andy",18);//普通函數的調用方式:直接調用 person()函數

構造函數的prototype屬性

每一個函數(對象)都會有prototype屬性,該屬相指向的即是原型對象;
Person.prototype.construct===Person //true
prototype等價於__proto__。 __proto__是社區提出來的,因此有些瀏覽器是不具備該屬性的this

原型對象

construct屬性

對象的constructor屬性用於返回建立該對象的函數,也就是咱們常說的構造函數。
因此原型對象的construct屬性指向的是構造函數。spa

三者關係

protytype.png

相關文章
相關標籤/搜索