三者之間的關(guān)系:
構(gòu)造函數(shù)可以實例化對象
構(gòu)造函數(shù)中有一個屬性叫prototype,是構(gòu)造函數(shù)的原型對象
構(gòu)造函數(shù)的原型對象(prototype),中有一個constructor構(gòu)造器,這個構(gòu)造器指向的就是自己所在的原型對象所在的構(gòu)造函數(shù)
實例對象的原型對象(_proto_)指向的是該構(gòu)造函數(shù)的原型對象
構(gòu)造函數(shù)的原型對象(prototype)中的方法是可以被實例對象直接訪問的

原型中的方法是可以相互調(diào)用的
實例對象當(dāng)中的屬性或者方法,先在實例對象當(dāng)中查找,找到了就直接使用,找不到去實例對象的__proto__指向的原型對象prototype中找,找到了則使用,找不到則報錯
實例對象:通過構(gòu)造函數(shù),實例化一個對象(例: var per=new Student()),如果是實例化一個對象,并初始化(例:var per=new Student("小明",18,"男"))
原型的作用之一:?共享數(shù)據(jù),節(jié)省空間
原型?
? ? * 實例對象中有__proto__這個屬性,叫原型,也是一個對象,這個屬性是給瀏覽器使用,不是標(biāo)準(zhǔn)的屬性----->__proto__----->可以叫原型對象
? ? * 構(gòu)造函數(shù)中有prototype這個屬性,叫原型,也是一個對象,這個屬性是給程序員使用,是標(biāo)準(zhǔn)的屬性------>prototype--->可以叫原型對象
? ? *
? ? * 實例對象的__proto__和構(gòu)造函數(shù)中的prototype相等--->true
? ? * 又因為實例對象是通過構(gòu)造函數(shù)來創(chuàng)建的,構(gòu)造函數(shù)中有原型對象prototype
? ? * 實例對象的__proto__指向了構(gòu)造函數(shù)的原型對象prototype