原型

作者: Hello杨先生 | 来源:发表于2019-06-28 13:52 被阅读1次

前提:原型是一个对象,其他对象可以通过他来实现属性继承,除了prototype
注意:大多情况下proto可以理解为constructor的原型,表示为proto === constructor.prototype

 /*
        输出原型
        */
        function add(){
             alert("111");
         }
         console.dir(add);
        prototype: {constructor: ƒ}
        // prototype是函数才有的属性

           var arr = [];
           console.dir(arr);
        // //__proto__: Array(0)            //prototype是proto的原型
        // prototype: [constructor: ƒ, concat: ƒ, copyWithin: ƒ, fill: ƒ, find: ƒ, …]
        //  constructor: ƒ Array()   proto是构造器的原型
        //__proto__ 是每个对象都有的属性  ,不是一个规范属性,质数部分浏览器实现了此属性

       /**/
 //对应的标准属性=任何浏览器都识别的属性=[[Prototype]]
         var a ={};
        console.log(a.prototype);//undefined
        console.log(a.__proto__);//Object

        var b = function (){
            alert("bbb");
        }
         console.log(b.prototype);//Object
         console.log(b.__proto__);//ƒ () { [native code] }

原型的作用
共享数据,节省内存空间

构造原型和实例的关系
构造函数创建实例对象
构造函数里面的prototype属性指的是原型对象
原型对象里面有一个constructor构造器
constructor指向的是自己的构造函数
原型对象里面的方法被实例对象共享
实例对象里面有proto属性
proto指向他所在的构造函数的原型对象
所以实例对象能访问到原型对象里面的方法

构造函数可以实例化对象
构造函数中有一个属性叫prototype,是构造函数的原型的对象
构造函数的原型对象(prototype)中有一个构造器constructor
constructor构造器指向的是自己所在的原型对象所在的构造函数
实例对象的原型对象(__proto__)(若看到某一对象中有__proto__,那么当前对象就是实例对象 )
实例对象的原型对象指向的是该构造函数的原型对象
构造函数的原型对象(prototype)中的方法是可以被实例对象直接访问的
构造原型和实例的关系.png

相关文章

  • JavaScript 原型、原型链与原型继承

    原型,原型链与原型继承 用自己的方式理解原型,原型链和原型继承 javascript——原型与原型链 JavaSc...

  • JavaScript 原型和原型链

    原型 在 JavaScript 中,我们所称的原型有两个使用语境: 原型关系 原型属性 原型关系指对象的原型对象,...

  • JavaScript 原型和原型链

    原型 在 JavaScript 中,我们所称的原型有两个使用语境: 原型关系 原型属性 原型关系指对象的原型对象,...

  • 原型、原型链

    (什么是原型、原型链?有什么作用) JavaScirpt深入之从原型到原型链 图解 Javascript 原型链 ...

  • 关于原型原型链的理解

    什么是原型? 什么是原型链? 为什么需要原型,和原型链?

  • js的原型对象&原型链&js的继承

    原型对象 & 原型链 原型对象分2种:显式原型和隐式原型。 显式原型就是我们常用的prototype属性,是函数的...

  • 4.4 JavaScript

    4.4.1. 原型链 4.4.1.1. 显式原型和隐式原型   JavaScript的原型分为显式原型(expli...

  • 原型、原型链

    理解JavaScript原型 彻底理解JavaScript原型 原型 原型是一个对象,所有对象都可以成为原型,其...

  • 廖雪峰JS小记

    (function(){})() 原型,原型链 浅谈Js原型的理解JS 原型与原型链终极详解 对象 对象:一种无序...

  • 2-6 原型和原型链 - 5个原型规则

    2-6 原型和原型链 - 5个原型规则 5条原型规则,原型规则是学习原型链的基础。 第一、所有引用类型(数组、函数...

网友评论

    本文标题:原型

    本文链接:https://www.haomeiwen.com/subject/zfbjcctx.html