看圖說話:
1、物件內部具有[[prototype]]屬性,該屬性不可直接訪問,瀏覽器通過__proto__(兩條『_』)可以讓使用者讀寫該內部屬性,最重要的是,該屬性指向建立本物件的原型物件。
2、每個原型物件內部都有乙個獨有屬性constructor,指向該原型物件的建構函式。
3、原型物件也是物件,因此它也有自己的__proto__屬性,最終會指向object.prototype
線(9)obect.prototype物件和function.prototype物件都是瀏覽器建立的,它們並非誰的例項。通過__proto__屬性將二者聯絡起來,從而使得函式也是物件。
首先瀏覽器給了兩個物件 functon.prototype和object.prototype.以及兩個函式function()和object()
因為functon.prototype和object.prototype這兩傢伙也是物件,既然是物件就有__proto__屬性,但是他兩個是瀏覽器給的,並不是建構函式構造出來的.
他兩個不是誰的例項,可以看出來所有的例項都是物件,但物件並不一定是例項,人都是媽生的,但是第一對男女可能是女媧創造的
然後神(瀏覽器)指定他們的__proto__,讓object.prototype的__proto__為null,function.prototype物件的__proto__屬性指向object.prototype物件.
再然後瀏覽器建立了個function()函式,既然是函式那就有prototype,就讓這個函式的prototype指向functon.prototype,這樣他構造出來的函式物件的__proto__就指向function.prototype
根據萬物皆物件的指導原則,這個function()函式也是物件,瀏覽器就讓這個function()函式的__proto__也指向functon.prototype,怎麼理解呢?
因為function()函式並不是哪個函式誰構造出來的,然後沒有建構函式也就沒有建構函式的prototype,這樣也就無法設定他的__proto__屬性
但是他畢竟也是乙個函式物件就讓他的__proto__指向了自己prototype
邏輯上就是自己生成自己,讓自己的__proto__指向自己的prototype
==是蛋生雞還是雞生蛋?都不是,是瀏覽器這位上古大神創造的雞和蛋.
接下來就是object()這個函式了,他的__proto__指向function.prototype,這好理解,因為這個函式是始祖函式function創造的,他的__proto__就指向function的prototype
又因為他是專門用來生成物件的,所以我讓他的prototype指向object.prototype,這樣以後通過他構造的物件的__proto__就指向object.prototype了.
原型物件並不是當前建構函式的例項,如果不指定,預設是object()函式的例項也就是object.prototype,如果指定了那就另當別論.
f.b()//報錯
function parent() ;
this.show = function ()
}function child()
}child.prototype = new parent();
var parent = new parent();
var child1 = new child();
var child2 = new child();
child1.a = 11;
child2.a = 12;
parent.show();//1,[1,2,1],5
child1.show();//11,[1,2,1],5
child2.show();//12,[1,2,1],5
child1.change();
child2.change();
parent.show();// 1,[1,2,1],5
child1.show();//5,[1,2,1,11,12],5
child2.show();//6,[1,2,1,11,12],5
最後這個案例下圖分析:
刨根問底ioremap (一)
硬是在動態對映或者靜態對映後,只能讀不能寫,逼著我對ioremap刨根問底 1 arch alpha include asm io.h static inline void iomem ioremap unsigned long port,unsigned long size 尋找io concat...
刨根問底ajax原理與封裝
說起ajax,大家都不陌生。但是由於目前很多框架或者庫等都對網路請求做了封裝,導致了很多初學者只知其然而不知其所以然。所以今天我們就詳細了解一下ajax的實現原理和封裝ajax的關鍵步驟。ajax的核心是xmlhttprequest物件。首先我們先建立乙個xmlhttprequest物件var xh...
刨根問底ajax原理與封裝
摘要 說起ajax,大家都不陌生。但是由於目前很多框架或者庫等都對網路請求做了封裝,導致了很多初學者只知其然而不知其所以然。所以今天我們就詳細了解一下ajax的實現原理和封裝ajax的關鍵步驟。ajax的核心是xmlhttprequest物件。說起ajax,大家都不陌生。但是由於目前很多框架或者庫等...