js property,JS_prototype

 2023-10-18 阅读 20 评论 0

摘要:prototype、proto和constructor的三角關系【只做探討, ES6不建議使用改屬性】 |- - 概念? ? ? |- 構造函數 用來初始化新創建的對象的函數是構造函數? ? ? |- 實例對象 通過構造函數的new操作創建的對象是實例對象? ? ? |- 原型對象及prototype 構造函數有一個prototype屬性&#

prototype、proto和constructor的三角關系【只做探討, ES6不建議使用改屬性】

|- - 概念
? ? ? |- 構造函數 用來初始化新創建的對象的函數是構造函數
? ? ? |- 實例對象 通過構造函數的new操作創建的對象是實例對象
? ? ? |- 原型對象及prototype 構造函數有一個prototype屬性,指向實例對象的原型對象。通過同一個構造函數實例化的多個對象具有相同的原型對象。經常使用原型對象來實現繼承 ? ? ? ? ? ? ?Foo.prototype.constructor === Foo
? ? ? |- constructor 原型對象有一個constructor屬性,指向該原型對象對應的構造函數 f1.constructor === Foo
? ? ? |- proto 實例對象有一個proto屬性,指向該實例對象對應的原型對象 f1.__proto__ === Foo.prototype
|- - Foo 構造函數
? ? ? |- 實例對象f1繼承原型對象Foo.prototype的constructor屬性 f1.constructor === Foo
|- -Object
? ? ? |- Foo.prototype是f1的原型對象,同時它也是【實例對象】(任何對象都可以看做是通過Object()構造函數的new操作實例化的對象)
? ? ? |- Foo.prototype作為實例對象,它的構造函數是Object(),原型對象是Object.prototype Foo.prototype.__proto__ === Object.prototype
? ? ? |- 實例對象Foo.prototype本身具有constructor屬性,所以它會覆蓋繼承自原型對象Object.prototype的constructor屬性
? ? ? ? ?Foo.prototype.constructor === Foo Object.prototype.constructor === Object
|- - Function 任何函數都可以看做是通過Function()構造函數的new操作實例化的結果
? ? ? 函數Foo當成實例對象的話,其構造函數是Function(),其原型對象是Function.prototype Foo.__proto__ === Function.prototype
? ? ? 函數Object的構造函數也是Function(),其原型對象是Function.prototype Object.__proto__ === Function.prototype
? ? ? 實例對象Object和Foo本身沒有constructor屬性,需要繼承原型對象Function.prototype的constructor屬性 Object.constructor === Function
? ? ? Function作為實例對象,其構造函數是Function,其原型對象是Function.prototype Function.__proto__ === Function.prototype
? ? ? Function.prototype作為實例對象, 原型對象是Object.prototype,其原型函數是Object() unction.prototype.__proto__ === Object.prototype
? ? ? Object.prototype的原型對象是null Object.prototype.__proto__ === null

詳細教程?https://www.cnblogs.com/xiaohuochai/p/5721552.html#anchor1

轉載于:https://www.cnblogs.com/smileself/p/8491402.html

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/1/150067.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息