欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

js prototype和__proto__的關(guān)系是什么

 更新時間:2019年08月23日 15:53:43   作者:蕭淺姑娘  
這篇文章主要介紹了js prototype和__proto__的關(guān)系是什么,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

我們創(chuàng)建的每個函數(shù)都有一個prototype(原型)屬性,這個屬性是一個對象,它的用途是包含可以由特定類型的所有實例共享的屬性和方法。(這個對象下面有個屬性,這個屬性是另外一個對象的應(yīng)用 ,這個屬性就是一個對象。)

function是對象,function的原型prototype也是對象,它們都會具有對象共有的特點。即:對象具有屬性__proto__,每個對象都會在其內(nèi)部初始化一個屬性,就是__proto__,當(dāng)我們訪問一個對象的屬性 時,如果這個對象內(nèi)部不存在這個屬性,那么他就會去__proto__里找這個屬性,這個__proto__又會有自己的__proto__,于是就這樣 一直找下去,也就是我們平時所說的原型鏈的概念。__proto__可稱為隱式原型,一個對象的隱式原型指向構(gòu)造該對象的構(gòu)造函數(shù)的原型,這也保證了實例能夠訪問在構(gòu)造函數(shù)原型中定義的屬性和方法。

funcition這個特殊的對象,除了和其他對象一樣有上述_proto_屬性之外,還有自己特有的屬性——原型屬性(prototype),這個屬性是一個指針,指向一個對象,這個對象的用途就是包含所有實例共享的屬性和方法(我們把這個對象叫做原型對象)。prototype是通過調(diào)用構(gòu)造函數(shù)而創(chuàng)建的那個對象實例的原型對象。使用原型對象的好處是可以讓所有對象實例共享它所包含的屬性和方法,不必在構(gòu)造函數(shù)中定義對象實例的信息,而是可以將這些信息直接添加到原型對象中。原型對象也有一個屬性,叫做constructor,這個屬性包含了一個指針,指回原構(gòu)造函數(shù)。

ptototype和__proto__聯(lián)系

prototype和__proto__都指向原型對象,任意一個函數(shù)(包括構(gòu)造函數(shù))都有一個prototype屬性,指向該函數(shù)的原型對象,同樣任意一個構(gòu)造函數(shù)實例化的對象,都有一個__proto__屬性(__proto__并非標(biāo)準(zhǔn)屬性,ECMA-262第5版將該屬性或指針稱為[[Prototype]],可通過Object.getPrototypeOf()標(biāo)準(zhǔn)方法訪問該屬性),指向構(gòu)造函數(shù)的原型對象。---sinのstone

ptototype和__proto__區(qū)別

//a作為構(gòu)造函數(shù)時的prototype屬性與a作為普通函數(shù)時的__proto__屬性并不相等
console.log(a.prototype == a.__proto__);//false

console.log(a.__proto__);     //function (){}
console.log(a.__proto__ == Function.prototype);//true

//a作為一個普通函數(shù)調(diào)用時,它的構(gòu)造函數(shù)是內(nèi)置對象Function,所以它指向的原型對象,就是Function.prototype.
//其實這個和console.log(b.__proto__ == a.prototype)是一樣的道理

//a作為構(gòu)造函數(shù)時,它的原型,和它的原型的原型
console.log(a.prototype);          //a{}
console.log(a.prototype.__proto__); //Object{}

//a作為普通函數(shù)時,它原型的原型
console.log(a.__proto__.__proto__); //Object{}

console.log(a.__proto__.__proto__ == a.prototype.__proto__); //true

所有對象都有__proto__屬性,函數(shù)這個特殊對象除了具有__proto__屬性,還有特有的原型屬性prototype。prototype對象默認(rèn)有兩個屬性,constructor屬性和__proto__屬性。prototype屬性可以給函數(shù)和對象添加可共享(繼承)的方法、屬性,而__proto__是查找某函數(shù)或?qū)ο蟮脑玩湻绞健onstructor,這個屬性包含了一個指針,指回原構(gòu)造函數(shù)。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 基于javascript實現(xiàn)圖片預(yù)加載

    基于javascript實現(xiàn)圖片預(yù)加載

    這篇文章主要介紹了javascript圖片預(yù)加載的方法,實例分析了javascript實現(xiàn)圖片預(yù)加載的思路,具有一定參考借鑒價值,需要的朋友可以參考下
    2016-01-01
  • innerText和textContent對比及使用介紹

    innerText和textContent對比及使用介紹

    innerText使用過程中遇到了FireFox的兼容問題FireFox不支持innerText方法但是有個類似的方法,叫textContent,類似innerText,都是用來獲?。ㄔO(shè)置)元素中text的方法,感興趣的朋友可以參考下
    2013-02-02
  • 淺談JavaScript的閉包函數(shù)

    淺談JavaScript的閉包函數(shù)

    閉包是有權(quán)訪問另一個函數(shù)作用域中的變量的函數(shù)。首先要明白的就是,閉包是函數(shù)。由于要求它可以訪問另一個函數(shù)的作用于中的變量,所以我們往往是在一個函數(shù)的內(nèi)部創(chuàng)建另一個函數(shù),而“另一個函數(shù)”就是閉包。本文對其進(jìn)行系統(tǒng)分析,需要的朋友可以看下
    2016-12-12
  • IE6瀏覽器中window.location.href無效的解決方法

    IE6瀏覽器中window.location.href無效的解決方法

    這篇文章主要介紹了IE6瀏覽器中window.location.href無效的解決方法,給出了正確與錯誤的實例對比,分析跳轉(zhuǎn)無效的原因與解決方法,是非常實用的技巧,需要的朋友可以參考下
    2014-11-11
  • 純JS實現(xiàn)的讀取excel文件內(nèi)容功能示例【支持所有瀏覽器】

    純JS實現(xiàn)的讀取excel文件內(nèi)容功能示例【支持所有瀏覽器】

    這篇文章主要介紹了純JS實現(xiàn)的讀取excel文件內(nèi)容功能,結(jié)合實例形式分析了基于js相關(guān)插件進(jìn)行Excel文件讀取的相關(guān)操作技巧,需要的朋友可以參考下
    2018-06-06
  • JavaScript基于DOM操作實現(xiàn)簡單的數(shù)學(xué)運算功能示例

    JavaScript基于DOM操作實現(xiàn)簡單的數(shù)學(xué)運算功能示例

    這篇文章主要介紹了JavaScript基于DOM操作實現(xiàn)簡單的數(shù)學(xué)運算功能,涉及javascript節(jié)點操作、元素遍歷及數(shù)學(xué)運算相關(guān)操作技巧,需要的朋友可以參考下
    2017-01-01
  • js獲取瀏覽器和屏幕的各種寬度高度

    js獲取瀏覽器和屏幕的各種寬度高度

    本文主要介紹了js獲取瀏覽器和屏幕的各種寬度高度的方法,具有很好的參考價值,下面跟著小編一起來看下吧
    2017-02-02
  • js實現(xiàn)在網(wǎng)頁上簡單顯示時間的方法

    js實現(xiàn)在網(wǎng)頁上簡單顯示時間的方法

    這篇文章主要介紹了js實現(xiàn)在網(wǎng)頁上簡單顯示時間的方法,實例分析了javascript實時顯示時間的技巧,需要的朋友可以參考下
    2015-03-03
  • JS和jQuery使用submit方法無法提交表單的原因分析及解決辦法

    JS和jQuery使用submit方法無法提交表單的原因分析及解決辦法

    這篇文章主要介紹了JS和jQuery使用submit方法無法提交表單的原因分析及解決辦法的相關(guān)資料,需要的朋友可以參考下
    2016-05-05
  • 如何使用less實現(xiàn)隨機(jī)下雪動畫詳解

    如何使用less實現(xiàn)隨機(jī)下雪動畫詳解

    這篇文章主要給大家介紹了關(guān)于如何使用less實現(xiàn)隨機(jī)下雪動畫的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-01-01

最新評論