2018-7-30 seo達(dá)人
如果您想訂閱本博客內(nèi)容,每天自動(dòng)發(fā)到您的郵箱中, 請(qǐng)點(diǎn)這里
寫在前面:
如果讓用簡(jiǎn)單的幾句話說(shuō)一下什么是原型,或者給原型下個(gè)定義,我覺得還是有點(diǎn)困難的,困難之處在于即使說(shuō)了之后,對(duì)于聽的人來(lái)說(shuō),估計(jì)也是一頭霧水。不過(guò),關(guān)于原型的一些基本的東西還是要說(shuō)明的,這些基本的東西差不多就可以構(gòu)成一個(gè)對(duì)原型的理解。首先,原型是函數(shù)才有的一個(gè)屬性;其次,原型就是一個(gè)對(duì)象,我們可以給它添加屬性或方法;最后,原型的作用是實(shí)現(xiàn)對(duì)象屬性的繼承。
每個(gè)對(duì)象都有一個(gè)隱藏的
每個(gè)函數(shù)都有一個(gè)
對(duì)象是沒有
通過(guò)原型
什么是原型鏈?
typeof在判斷引用數(shù)據(jù)類型時(shí)只能返回object和function,不能準(zhǔn)確判斷引用數(shù)據(jù)類型時(shí)數(shù)組還是對(duì)象。而instanceof可以很好用于判斷引用數(shù)據(jù)類型。
用法:
instanceof是通過(guò)判斷對(duì)象
1、什么是對(duì)象?
對(duì)象就是屬性的集合;
2、對(duì)象與函數(shù)的關(guān)系?
對(duì)象都可以看做是由構(gòu)造函數(shù)Object實(shí)例化生成的;
函數(shù)都可以看做是由構(gòu)造函數(shù)Function實(shí)例化生成的;
構(gòu)造函數(shù)Object也是由構(gòu)造函數(shù)Function生成的;
1、原型prototype
__proto__
屬性,__proto__
屬性指向創(chuàng)建該對(duì)象的函數(shù)的原型prototype
;
prototype
屬性,其prototype
屬性值是一個(gè)對(duì)象;
prototype
屬性的,函數(shù)是沒有__proto__
屬性的;
prototype
,可以實(shí)現(xiàn)對(duì)象屬性的繼承,即創(chuàng)建在構(gòu)造函數(shù)原型上的方法和屬性可以被所有由該構(gòu)造函數(shù)生成的實(shí)例所共享;
2、原型鏈
原型鏈描述的是對(duì)象的繼承圖譜(類似于家譜圖),當(dāng)訪問(wèn)一個(gè)對(duì)象的屬性的時(shí)候,會(huì)在該對(duì)象中進(jìn)行查詢,如果在該對(duì)象中沒有查詢到,則會(huì)沿著該對(duì)象的__proto__
線進(jìn)行查詢,直到查詢到該屬性或者到Object.prototype,這樣層層向上查詢的線路就是該對(duì)象的原型鏈。
3、instanceof
A instanceof B
A
的原型鏈上是否存在B
的原型來(lái)確定A的數(shù)據(jù)類型;
藍(lán)藍(lán)設(shè)計(jì)的小編 http://m.bouu.cn