• 技术文章 >web前端 >前端问答

    javascript 原型 是什么

    藏色散人藏色散人2021-11-11 17:21:57原创61

    JavaScript的对象都有一个内置的Prototype私有属性,这个属性指向另一个对象,我们称这个对象为原对象的原型。

    本文操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。

    javascript 原型 是什么?(包括作用:继承)

    学习目标:
    认识什么js是原型,原型、构成函数、实例对象关系;原型应用范围。

    什么是原型
    函数有原型,函数有一个属性叫prototype,函数的这个原型指向一个对象,这个对象叫原型对象。这个原型对象有一个constructor属性,指向这个函数本身。

    实例对象也存在原型,实例对象存在原型对象是__proto__,__proto__一般被叫隐身原型,这个隐身原型有一个constructor属性,该属性指向创建该实例的构造函数。


    构造函数、实例对象和原型直接关系
    构造函数和实例对象关系
    在每一个实例对象中的__proto__中同时有一个 constructor 属性,该属性指向创建该实例的构造函数:

    实例对象__proto__和构造函数prototype关系
    在每一个实例对象中的__proto__指向构造函数中prototype 两个是相等的。

    构造函数,prototype原型对象,实例对象,proto,constructor,直接关系

    原型作用


    原型如何数据共享,节约内存空间
    JavaScript 面向对象编程

    原型如何实现继承
    比如,现在有一个"动物"对象的构造函数。


    还有一个"猫"对象的构造函数。


    怎样才能使"猫"继承"动物"呢?
    如果"猫"的prototype对象,指向一个Animal的实例,那么所有"猫"的实例,就能继承Animal了。

    cat1实例对象与构造函数关系图如下


      
    任何一个prototype对象都有一个constructor属性,指向它的构造函数。
    添加 Cat.prototype = new Animal();代码以后
    Cat.prototype.constructor指向Animal。

    cat1实例对象与构造函数关系图如下

    推荐学习:《javascript基础教程

    以上就是javascript 原型 是什么的详细内容,更多请关注php中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:javascript 原型
    上一篇:nodejs官方模块有哪些 下一篇:javascript %意思是什么
    大前端线上培训班

    相关文章推荐

    • 一分钟带你了解JavaScript原型链继承的概念以及原理• 如何理解javascript原型链• JS构造函数-实例对象-原型对象之间的关系• 藕断丝连,JavaScript中的原型与原型链

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网