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

資訊專欄INFORMATION COLUMN

原型鏈

chenatu / 1832人閱讀

摘要:預解釋基本數據類型和引用數據類型前者操作值,后者操作地址。原型對象中都有個預定義的屬性,用來引用它的函數對象。這是一種循環引用和只能分辨值類型的數據類型用于判斷引用類型屬于哪個構造函數的方法循環對象自身的屬性原型鏈繼承

預解釋


基本數據類型和引用數據類型

前者操作值,后者操作地址。

prototype和__proto__

prototype是函數獨有的屬性

__proto__是對象都有的屬性

__proto__可以理解為構造器的原型

__proto__=== constructor.prototype

原型鏈

當試圖得到一個對象的某個屬性時,如果這個對象本身沒有這個屬性,那么會去它的__proto__(即它的構造函數prototype)中尋找。

由于__proto__是任何對象都有的屬性,而js里萬物皆對象,所以會形成一條__proto__連起來的鏈條,遞歸訪問__proto__必須最終到頭,并且值是null。

    var A = function () { }
    var a = new A();

    console.log(a.__proto__ === A.prototype) //true
    console.log(A.prototype.__proto__ === Object.prototype) //true
    console.log(Object.prototype.__proto__) //null
constructor

原型對象prototype中都有個預定義的constructor屬性,用來引用它的函數對象。這是一種循環引用

person.prototype. constructor === person //true

Function.prototype.constructor === Function //true

Object.prototype.constructor === Object //true

typeof和instanceof

typeof只能分辨值類型的數據類型

instanceof用于判斷引用類型屬于哪個構造函數的方法

var arr=0;
arr instanceof Array  //true
hasOwnProperty

循環對象自身的屬性

    var A = function () { }
    var a = new A();
    A.prototype.say = function () {
        console.log("say hello")
    }
    a.run = function () {
        console.log("running")
    }
    var item;
    for (item in a) {
        if (a.hasOwnProperty(item)) {
            console.log(item)   //run
        }
    }
原型鏈繼承

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

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

相關文章

  • 《javascript高級程序設計》筆記:原型圖解

    摘要:不理解沒關系,下面會結合圖例分析上一篇高級程序設計筆記創建對象下一篇高級程序設計筆記繼承參考之原型鏈的解讀三張圖搞懂的原型對象與原型鏈繼承與原型鏈 文章直接從原型圖解開始的,如果對一些概念不太清除,可以結合后面幾節查看 1. 圖解原型鏈 1.1 鐵三角關系(重點) function Person() {}; var p = new Person(); showImg(https://s...

    vspiders 評論0 收藏0
  • 如何理解JavaScript的原型原型

    摘要:之前有朋友問怎么去理解原型和原型鏈的問題。理解原型鏈的小技巧將箭頭視作泛化子類到父類關系那么圖中所有的虛線將構成一個繼承層級,而實線表示屬性引用。原型鏈是實現繼承的重要方式,原型鏈的形成是真正是靠而非。 之前有朋友問怎么去理解原型和原型鏈的問題。這個問題,在面試中,很多同學經常都會遇到。這里給大家講講,方便大家記憶。 JavaScript的特點JavaScript是一門直譯式腳本...

    xuexiangjys 評論0 收藏0
  • 如何理解JavaScript的原型原型

    摘要:之前有朋友問怎么去理解原型和原型鏈的問題。理解原型鏈的小技巧將箭頭視作泛化子類到父類關系那么圖中所有的虛線將構成一個繼承層級,而實線表示屬性引用。原型鏈是實現繼承的重要方式,原型鏈的形成是真正是靠而非。 之前有朋友問怎么去理解原型和原型鏈的問題。這個問題,在面試中,很多同學經常都會遇到。這里給大家講講,方便大家記憶。 JavaScript的特點JavaScript是一門直譯式腳本...

    adie 評論0 收藏0
  • 【5】JavaScript 函數高級——原型原型深入理解(圖解)

    摘要:探索是如何判斷的表達式如果函數的顯式原型對象在對象的隱式原型鏈上,返回,否則返回是通過自己產生的實例案例案例重要注意的顯示原型和隱式原型是一樣的。面試題測試題測試題報錯對照下圖理解 原型與原型鏈深入理解(圖解) 原型(prototype) 函數的 prototype 屬性(圖) 每個函數都有一個prototype屬性,它默認指向一個Object空對象(即稱為:原型對象) 原型對象中有...

    馬龍駒 評論0 收藏0
  • JS基礎-原型原型真的不能一知半解

    摘要:原型鏈和對象的原型是對象實例和它的構造函數之間建立的鏈接,它的值是構造函數的。對象的原型根據上文提到的構造調用函數的時候會創建一個新對象,自動將的原型指向構造函數的對象。 showImg(https://segmentfault.com/img/remote/1460000020185197); JS的原型、原型鏈一直是比較難理解的內容,不少初學者甚至有一定經驗的老鳥都不一定能完全說清...

    changfeng1050 評論0 收藏0
  • JavaScript面向對象---原型繼承

    摘要:因為這造成了繼承鏈的紊亂,因為的實例是由構造函數創建的,現在其屬性卻指向了為了避免這一現象,就必須在替換對象之后,為新的對象加上屬性,使其指向原來的構造函數。這個函數接收兩個參數子類型構造函數和超類型構造函數。 最近一直在研究js面向對象,原型鏈繼承是一個難點,下面是我對繼承的理解以下文章借鑒自CSDN季詩筱的博客 原型鏈繼承的基本概念: ES中描述了原型鏈的概念,并將原型鏈作為實現...

    vspiders 評論0 收藏0

發表評論

0條評論

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