亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術(shù)文章
文章詳情頁

JS原型prototype和__proto__用法實例分析

瀏覽:54日期:2024-05-18 09:25:53

本文實例講述了JS原型prototype和__proto__用法。分享給大家供大家參考,具體如下:

先來看一個實例

function Foo() {}var foo = new Foo();console.log(foo.prototype);// undefinedconsole.log(foo.__proto__ === Foo.prototype);// trueconsole.log(Foo.__proto__); [Function]

Foo.__proto__結(jié)果如下:

JS原型prototype和__proto__用法實例分析

console.log(Foo.prototype);// [object Object]

Foo.prototype結(jié)果如下:

JS原型prototype和__proto__用法實例分析

console.log(Foo.prototype.prototype);// undefined

實例說明了:

1、 foo 是 Foo 的一個實例,不是一個函數(shù),所以沒有prototype;

Foo是Function的一個實例,而Function是一個函數(shù),他的實例Foo也是一個函數(shù),所以他們都有prototype。此外Object Array RegExp等也是函數(shù)。Math就僅僅是一個new Object() ,不是函數(shù)。

2、構(gòu)造函數(shù)的prototype,默認(rèn)情況下就是一個new Object()還額外添加了一個constructor屬性。所以說默認(rèn)是沒有prototype只有__proto__的。

除了Object.prototype這個對象,其他所有的對象都會有__proto__屬性,之后函數(shù)才會有prototype屬性。

在創(chuàng)建對象的時候會自動創(chuàng)建一個__proto__屬性,指向它構(gòu)造函數(shù)的prototype,當(dāng)訪問這個對象的屬性的時候會順帶訪問__proto__中對應(yīng)的屬性,也就是構(gòu)造函數(shù)prototype這樣實現(xiàn)了繼承。

只有創(chuàng)建函數(shù)的時候才會創(chuàng)建一個prototype屬性,目的就是為了完成上面的繼承方式。

總結(jié):

<1>不管是普通對象還是函數(shù)對象,它們都有一個隱含屬性”__proto__ “,而這屬性就是我們通常說的原型(屬性),它其實就是一個Object類型的對象。

<2>對于函數(shù)對象,它們還會多一個prototype的屬性,它和以它為構(gòu)造函數(shù)創(chuàng)建的普通對象的”__proto__ “屬性等同,即'new XXXt().__proto__ ===XXX.prototype'為true,即對象XXX中都有__proto__屬性就是一個指針,指向XXX構(gòu)造函數(shù)中的prototype屬性。

摘錄網(wǎng)上

一個圖(橙色箭頭是初始的關(guān)系,綠色是執(zhí)行 var Fish = new Fu... 創(chuàng)建,藍色是執(zhí)行f1= new Fish()創(chuàng)建。)

JS原型prototype和__proto__用法實例分析

這樣f1 就可以通過__proto__ 訪問 Fish.prototype中的屬性(當(dāng)然這是程序執(zhí)行的時候自動查找的)。Fish就可以訪問 Function.prototype定義的屬性。所有對象都可以訪問Object.prototype 中的屬性。

感興趣的朋友可以使用在線HTML/CSS/JavaScript代碼運行工具:http://tools.jb51.net/code/HtmlJsRun測試上述代碼運行效果。

更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《javascript面向?qū)ο笕腴T教程》、《JavaScript錯誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學(xué)運算用法總結(jié)》

希望本文所述對大家JavaScript程序設(shè)計有所幫助。

標(biāo)簽: JavaScript
相關(guān)文章:
主站蜘蛛池模板: 婷婷久久综合 | 看黄子片免费 | 一级黄色片一 | 亚洲欧美一级久久精品 | 达达兔午夜一级毛片 | 色播综合网 | 黄色自拍视频 | 国产成人精品s8p视频 | 国产草草影院ccyycom软件 | 爱爱网站免费 | 日韩 亚洲 欧美 中文 高清 | 污网| 精品国产自在现线久久 | 国产护士一级毛片高清 | 精品成人免费视频 | 高清毛片在线看高清 | 亚洲欧洲日产国码二区在线 | 日本乱中文字幕系列 | 成人国产精品久久久免费 | 久久99综合国产精品亚洲首页 | 久久在视频 | 毛片黄 | 亚洲黄色a | 成人黄色免费看 | 成人免费观看在线网址 | 欧美黄色片一级 | 欧美日韩国产人成在线观看 | 影音先锋5566手机在线播放 | 欧美做爰xxxⅹ在线视频hd | 久久免费福利视频 | 91精品国产9l久久久久 | 国产不卡视频一区二区在线观看 | 手机看片精品高清国产日韩 | 国产精品视频二区不卡 | 一级一级一级一级毛片 | 一级做a级爰片性色毛片视频 | 欧美日韩色视频在线观看 | 国产码一区二区三区 | 欧美一区二区三区在线观看免费 | 成人夜色视频在线观看网站 | 成人午夜影院在线观看 |