prototype和__proto__之間的關係。學習
function ABC() {} var abc = new ABC()
咱們知道ABC有個prototype屬性,當new出一個新變量abc,其中abc含有__proto__屬性,爲了區別對待,借鑑你們的廣泛認識,其中稱prototype爲顯式原型、__proto__爲隱式原型。prototype
有幾個概念須要描述一下。rest
OK,經過下面代碼截圖就很能說明問題。
code
function ABC () {} var abc = new ABC() // 顯然具備以下的關係 // abc instanceof ABC instanceof Object abc.say1 = () => { console.log('say1') } ABC.prototype.say2 = () => { console.log('say2') } Object.prototype.say3 = () => { console.log('say3') } abc.say1() // 調用本身的方法 abc.say2() // 查找本身的__proto__方法,即ABC的prototype原型方法 abc.say3() // 沿着原型鏈查找到Object的prototype原型方法 abc.say4() // 報錯,Uncaught TypeError: abc.say4 is not a function
調用屬性名,也是如此。。。對象
終於有時間來寫寫個人JS點滴,工做事太多,最近由於工做緣由還在學習Lua和Nginx,以及春哥的Openresty,哎😔。。。blog