面向对象原型链小结
?
構(gòu)造函數(shù):
*)構(gòu)造函數(shù)就是初始化對(duì)象的函數(shù)(給剛創(chuàng)建的對(duì)象賦值屬性等)。
*)構(gòu)造函數(shù)就是普通函數(shù),內(nèi)部的this指向window;
只有實(shí)例化對(duì)象后才被稱(chēng)為構(gòu)造函數(shù),內(nèi)部的this指向?qū)嵗?br /> *)若構(gòu)造函數(shù)內(nèi)部存在返回值,且返回值的數(shù)據(jù)類(lèi)型為值類(lèi)型,那么調(diào)用這個(gè)函數(shù)時(shí)返回這個(gè)實(shí)例;
若構(gòu)造函數(shù)內(nèi)部返回值的數(shù)據(jù)類(lèi)型為引用類(lèi)型,那么調(diào)用這個(gè)函數(shù)時(shí)返回復(fù)雜數(shù)據(jù)。
*)若構(gòu)造函數(shù)在調(diào)用時(shí)沒(méi)有傳參,則構(gòu)造函數(shù)的小括號(hào)可以省略。
*)訪問(wèn)原型的方式:構(gòu)造函數(shù).prototype => 原型。
*)Function是所有構(gòu)造函數(shù)的構(gòu)造函數(shù)。
原型對(duì)象:
*)一個(gè)函數(shù)中就會(huì)有prototype屬性,這個(gè)屬性指向一個(gè)對(duì)象,這個(gè)對(duì)象就稱(chēng)作原型對(duì)象。
*)原型就是構(gòu)造函數(shù)的prototype值。
*)把公有的方法放在原型上來(lái)實(shí)現(xiàn)資源共享,所有實(shí)例都可以訪問(wèn)這個(gè)公有方法。
*)原型中的constructor屬性指向了構(gòu)造函數(shù)本身。eg:fn.prototype.constructor === fn;
*)Object.prototype => null 是原型鏈的最頂端。
實(shí)例:
*)實(shí)例化:通過(guò)構(gòu)造函數(shù)創(chuàng)建(new)對(duì)象的過(guò)程;
實(shí)例:實(shí)例化出來(lái)的對(duì)象,稱(chēng)作構(gòu)造函數(shù)的一個(gè)實(shí)例。
*)訪問(wèn)原型方式:實(shí)例.__proto__ => 原型。(.__proto__這個(gè)屬性是非標(biāo)準(zhǔn)化屬性,不推薦使用);
*)Function是Function的實(shí)例。
結(jié)論:
*)Function.prototype是原型對(duì)象,Function就繼承自該原型對(duì)象。
*)Function instanceof Function 為真;
*)Function instanceof Object 為真;
*)Object instanceof Function 為真;
轉(zhuǎn)載于:https://www.cnblogs.com/Lu-Lu/p/6230706.html
總結(jié)
- 上一篇: 【poj1742】 Coins
- 下一篇: 个人作业收官——软件工程实践总结