国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

如何理解_proto_和prototype

lk20150415 / 926人閱讀

摘要:如何理解和原型空間我們知道在中萬物皆對象現在我們假設每一個對象創建時都會產生一個原型空間原型對象現在我們記住三句話實例由其定義共享原型空間由來尋找定義的原型空間由來尋找自己的原型空間實例由其定義共享原型空間此圖片為轉載此圖片為轉載

(如何理解_proto_和prototype) 原型空間

我們知道在js中萬物皆對象,現在我們假設每一個對象創建時都會產生一個原型空間(原型對象 )

現在我們記住三句話

實例由其定義共享原型空間
由__proto__來尋找定義的原型空間
由prototype來尋找自己的原型空間

實例由其定義共享原型空間

ps

p:prototype
[p]: _proto_
此圖片為轉載

此圖片為轉載

從上面兩張圖可以清楚看出這種關系這樣就可以形成原型鏈


所有函數都是由Function構造函數構造的
function函數也是Function構造函數構造的所以時function自己構造了自己所以自己指向自己的原型空間
我們可以看出圖中function的原型空間和animal的原型空間都是object類型(其實第二列的原型空間都是object的實例,但邏輯上不是)

//所有函數類型的隱式原型都相同 因為都是Function的原型對象創建
//所以構造函數的__proto__是Function
//那么Function的隱式原型 ?
var fun = new Function();
console.log(fun.__proto__===Function.prototype);
console.log(Function.__proto__===Function.prototype);
//所以Function本身的隱式原型和顯示原型相同
//可以看出Object也是函數定義的所以他的隱士原型應該是Function 的顯示原型
console.log(Object.__proto__===Function.prototype)

那么object的原型空間的原型空間應該是undefined但這樣就會讓原型鏈沒有盡頭
為了邏輯完善就令其為null
可以看出原形空間的定義是由其定義的原型空間來定義的(實例和其定義共享原型空間)

function Animal(){}
function Bird(){}
function Swallow(){}
Bird.prototype= new Animal()
Swallow.prototype=new Bird() 
var swallow = new Swallow()
console.log(swallow.__proto__.prototype)
console.log(Swallow.__proto__.prototype)
console.log(Bird.__proto__.prototype)
console.log(Animal.__proto__.prototype)
console.log(Function.prototype.__proto__.prototype)
console.log(Swallow.prototype)
console.log(Animal.prototype)
var animal = new Animal
console.log(animal.__proto__.__proto__)
var obj = {}
console.log(typeof (obj.__proto__.__proto__))
////ps沒有修正construct

那么若假設Pobject來定義了Object的原型空間的原型空間那么圖中所有的(undefined)的位置的_proto_都會指向Pobject的原型空間以這個邏輯就可以讓無限迭代下去(指針的指針的.....的指針)
這樣向上尋找原型鏈和向下尋找原型鏈就統一了,但js設計封鎖了向上無限迭代(Object的原型空間為null)

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/109835.html

相關文章

  • js內功修煉之九陽神功--原型鏈

    摘要:寫在前面如果說是一本武學典籍,那么原型鏈就是九陽神功。那么,如何修煉好中的九陽神功呢真正的功法大成的技術是從底層上去理解,那種工程師和碼農的區別就在于對底層的理解,當你寫完一行代碼,或者你遇見一個解決的速度取決于你對底層的理解。 寫在前面 如果說JavaScript是一本武學典籍,那么原型鏈就是九陽神功。在金庸的武俠小說里面,對九陽神功是這樣描述的:練成「九陽神功」后,會易筋洗髓;生出...

    蘇丹 評論0 收藏0
  • js內功修煉之九陽神功--原型鏈

    摘要:寫在前面如果說是一本武學典籍,那么原型鏈就是九陽神功。那么,如何修煉好中的九陽神功呢真正的功法大成的技術是從底層上去理解,那種工程師和碼農的區別就在于對底層的理解,當你寫完一行代碼,或者你遇見一個解決的速度取決于你對底層的理解。 寫在前面 如果說JavaScript是一本武學典籍,那么原型鏈就是九陽神功。在金庸的武俠小說里面,對九陽神功是這樣描述的:練成「九陽神功」后,會易筋洗髓;生出...

    Profeel 評論0 收藏0
  • js內功修煉之九陽神功--原型鏈

    摘要:寫在前面如果說是一本武學典籍,那么原型鏈就是九陽神功。那么,如何修煉好中的九陽神功呢真正的功法大成的技術是從底層上去理解,那種工程師和碼農的區別就在于對底層的理解,當你寫完一行代碼,或者你遇見一個解決的速度取決于你對底層的理解。 寫在前面 如果說JavaScript是一本武學典籍,那么原型鏈就是九陽神功。在金庸的武俠小說里面,對九陽神功是這樣描述的:練成「九陽神功」后,會易筋洗髓;生出...

    morgan 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<