访问原型的方法

1,通过构造函数访问原型

 function Person(){}var p =new Person();Person.prototype.msg ='在不在'

2,通过实例化对象访问原型

 function Person(){}var p =new Person();p.__proto__.sayHello = function(){console.log('你好')//你好
   }p.sayHello()

__proto__属性是一个非标准的属性,为了保证通用性,这个属性不推荐使用。

__proto__属性的用途,主要用来做调试

原型图 原型和构造函数,实例化对象三者的关系

可以看到,每一个构造函数都会有一个prototype属性,这个属性指向一个原型对象,这个构造函数通过new生成一个新的实例对象,这个实例拥有一个__proto__属性,而这个对象这个指向原型对象。

其中需要注意的是替换原型的时候,需要手动添加constructor

function Person(){}Person.prototype = {name : '刘钢蛋'};console.log(Person.prototype.constructor);//ƒ Object() { [native code] }

如果不加constructor属性会导致constructor指向的是Object

function Person(){}Person.prototype = {name : '刘钢蛋',constructor: Person};console.log(Person.prototype.constructor);//ƒ Person(){}

转载于:https://www.cnblogs.com/lrgupup/p/9321988.html

原型和构造函数(2)相关推荐

  1. 原型和构造函数(1)

    构造函数的形式 1,使用new关键字创建对象 2,使用构造函数,把新创建出来的对象,赋值给构造函数内的this 3,在构造函数内使用this为新创建出来的对象新增成员 4,默认返回新创建的这个对象 f ...

  2. javascript 面向对象 new 关键字 原型链 构造函数

    JavaScript面向对象 JavaScript 语言使用构造函数(constructor)作为对象的模板.所谓"构造函数",就是专门用来生成实例对象的函数.它就是对象的模板,描 ...

  3. 《权威指南》笔记 - 9.1-9.2 类和原型、构造函数

    实现类的方法很多种,可以通过从原型来继承,实现类.也可以通过调用构造函数,来实现类.构造函数的prototype属性被用作新对象的原型. **:定义构造函数的时候,首字母要大写. ** : 构造函数使 ...

  4. 34 JavaScript中的构造函数和原型

    技术交流QQ群:1027579432,欢迎你的加入! 欢迎关注我的微信公众号:CurryCoder的程序人生 1.概述 在典型的OOP语言中(如Java),都存在类的概念.类就是对象的模板,对象就是类 ...

  5. 关于对象、构造函数、原型、原型链、继承

    对象: 在传统的面向过程的程序设计中,会造成函数或变量的冗余.而js中对象的目的是将所有的具有相同属性或行为的代码整合到一起,形成一个集合,这样就会方便管理,例如: var person1={name ...

  6. js面向对象小结(工厂模式,构造函数,原型方法,继承)

    本文转至:TJYoung 最近过了一遍尼古拉斯泽卡斯的高级程序设计第三版(红皮书)第六章:面向对象程序设计,现在把总结出来的东西和大家分享一下. 主要内容如下: 1.工厂模式 2.构造函数模式 3.原 ...

  7. 浅谈javascript中原型(prototype)、构造函数、对象实例及三者之间的关系

    转自:http://www.cnblogs.com/zhangwei412827/archive/2012/12/14/2816263.html 浅谈javascript中原型(prototype). ...

  8. js面向对象-组合使用构造函数模式和原型模式(使用最广泛、认同度最高)

    组合使用构造函数模式和原型模式 构造函数模式用于定义实例属性 原型模式用于定义方法和共享的属性 优点:每个实例都有自己的实例属性的副本,但同时共享对方法的引用,最大限度的节省内存 function P ...

  9. 构造函数、原型、继承原来这么简单?来吧,深入浅出

    构造函数 小编上篇博客中介绍到的通过关键字class方式定义类,然后根据类再创建对象的方式,是ES6中语法,现在很多浏览器对ES6的支持还不是很好,所以也要学习通过构造函数(构建函数)的方式创建对象 ...

最新文章

  1. [mybatis]动态sql_set_与if结合的动态更新
  2. java编程彩球滑梯作弊_课内资源 - 基于C++的学生成绩管理系统
  3. 临时文件_其实邮箱可能才是最佳的临时文件分享途径
  4. jQuery——高级(js对象、json、ajax)
  5. 江苏师范大学计算机控制考试题库,江苏技术师范学院2006¬—2007学年第2学期《微机原理与接口技术》试卷(2份,有答案)...
  6. Matlab怎样将传递函数转换成差分方程
  7. Oracle EBS-SQL (BOM-4):检查期间新增编码总数.sql
  8. 强大的.NET反编译工具Reflector及插件 (转)
  9. 如何通过Photoshop制作Gif图片(把几张图片合成一张Gif图片)
  10. HKC PG27P3评测 HKC PG27P3怎么样
  11. 机器学习-基于Logistic回归和Sigmoid函数的分类
  12. python捕捉warning_Python warnings.warn方法代码示例
  13. 绕过微软WGA正版验证(蓝色五角星)的几则技巧
  14. 笔记本中的insert,idea中Alt + insert快捷键在笔记本中怎么输入
  15. 人群密度算法_算法人群的力量。
  16. SpringBoot指定额外需要扫描的包
  17. Systemback使用精简教程
  18. 用Chrome浏览器模拟手机,andriord,iphone,ipad访问网站
  19. 机器人(ROS)理实融合课程设计与开展
  20. [阅读记录]《数据分析师求职面试指南》-2

热门文章

  1. 华为合作oppovivo小米鸿蒙,华为鸿蒙成功的关键:要让小米、OPPO、VIVO都用上鸿蒙...
  2. java qq音乐接口 api,QQ音乐解析API接口更新:支持HQ,ape,flac无损音质,缓存功能
  3. Android调焦函数,高通Android驱动中的对焦马达的配置
  4. Keras【Deep Learning With Python】逻辑回归·softmax多分类与交叉熵
  5. 【编译原理】词法分析和语法分析两万字全总结(这知识它不进脑子啊~!)
  6. 【编译原理】有限自动机NFA-ε到NFA的探索
  7. build unity 丢失_Unity Build PS4文件时的一些坑
  8. mysql 正则表达式_MySQL(基础正则表达式)
  9. 如何使用CNN进行物体识别和分类_CNN原理与实践指南
  10. 是啥意思_属猴人:十猴九苦是啥意思 十猴九不全什么意思 为什么