Object.prototype.__proto__:

  实体对象指向造它的构造函数的 prototype属性所指 的对象 ,实例的__proto__是引用构造函数的prototype属性所指对象,

Object.prototype :

  js规定,构造函数有prototype 属性,指向一个对象,这个对象一般就是构造函数的公有成员。

  所以 __proto__  和 prototype 可以指向同一个对象  {key1:value1,key2:value2,......},构造函数的私有和特权函数会被带到每个实例函数中,每个实例都会包含相同的私有和特权特权成员的副本,因而实例越多越占内存,实例是在栈中的,构造函数在堆中,因为构造函数都是实例的引用。

Object.prototype.constructor:

   返回一个指向创建了该对象原型的函数引用,返回的是函数本身,不是包含函数名称的字符串;依赖一个对象的 constructor 属性并不安全,因为其可以被赋值,从而改变指向,然后丢失方法。此处略。。。。

(ECMAScript 2015 (6th Edition, ECMA-262)Object.prototype.constructor)

以下举例谁说明:

//构造函数
var Mother=function(){};     //new一个实例
var aSon=new Mother();  //此时aSon继承了Mother里面的prototype属性所指向的代码,引用此代码,aSon.__proto__=Mother.prototype;都相等了,所以指向的是同一个对象

1、Object.prototype.constructor   :function(){}2、Object.prototype :{...} 3、Object.prototype.__proto__ :{...}                          //Object.prototype就是实例 是全被继承的

一、var aSon={};  //初始化一个对象二、aSon.__proto__=Mother.prototype;      //把Mother.prototype的指向赋值给aSon.__proto__  ,然后两个都指向了一个对象{...}三、aSon.apply(this);     //构造函数Mother把指针指向aSon对象
 

转载于:https://www.cnblogs.com/aidanliu/p/6136118.html

Object.prototype.__proto__ 、Object.prototype和 Object.prototype.constructor相关推荐

  1. 安卓 on a null object reference_详解Object.prototype.__proto__

    Object.prototype 的 __proto__ 属性是一个访问器属性(一个getter函数和一个setter函数), 暴露了通过它访问的对象的内部[[Prototype]] (一个对象或 n ...

  2. Do not access Object.prototype method ‘hasOwnProperty‘ from target object

    Do not access Object.prototype method 'hasOwnProperty' from target object 编写代码的时候,使用了eslint: let obj ...

  3. constrctor,prototype,__proto__

    constructor 定义和用法 在 JavaScript 中, constructor 属性返回对象的构造函数. 返回值是函数的引用,不是函数名: true.constructor //funct ...

  4. 夯实JavaScript基础之prototype, __proto__, instanceof

    function New(f){return function(){var o = {'__proto__': f.prototype};f.apply(o, arguments);return o; ...

  5. go检测出json中的duplicate object key_精读《如何比较 Object 对象》

    1 引言 Object 类型的比较是非常重要的基础知识,通过 How to Compare Objects in JavaScript 这篇文章,我们可以学到四种对比方法:引用对比.手动对比.浅对比. ...

  6. arrays.sort(._Arrays.hashCode(Object [])与Objects.hash(Object…)

    arrays.sort(. 从JDK 1.5开始 , Arrays类提供了名为" hashCode "的重载static方法. 大多数重载方法都接受特定原始类型的数组,但是Arra ...

  7. Arrays.hashCode(Object [])与Objects.hash(Object…)

    从JDK 1.5开始 , Arrays类提供了名为" hashCode "的重载static方法. 大多数重载方法都接受特定原始类型的数组,但是Arrays.hashCode(Ob ...

  8. String.valueOf(Object)与Objects.toString(Object)

    便捷的方法String.valueOf(Object) 自JDK 1.0起就存在,并且是我经常使用的JDK提供的方法之一. 我以前曾在博客上评论过它的价值 . JDK 1.7引入了 Objects类 ...

  9. Java中泛型 Class<T>、T与Class<?>、 Object类和Class类、 object.getClass() 和 Object.class

    From:Java中泛型 Class<T>.T 与 Class<?>. Object类 和 Class类. object.getClass() 和 Object.class : ...

最新文章

  1. centos7修改服务器密码,centos7 上搭建MQTT服务器,修改密码,设置权限并进行测试。...
  2. c++内存中字节对齐问题详解
  3. Linux cpuidle framework(4)_menu governor
  4. 读书笔记_代码大全2第七章_高质量的子程序
  5. Ajax与CustomErrors的尴尬
  6. 增强中获取屏幕值的一句很实用代码…
  7. API/POSIX/C库的区别与联系
  8. [转]VUE优秀UI组件库合集
  9. 基于 Docker 中的 MongoDB 授权使用
  10. paip.spring 获取bean getBean 没有beanid的情况下
  11. 模糊规则优化matlab,遗传算法优化模糊pid控制规则
  12. git视频及对初学者的学习建议
  13. Blender快捷键、技巧和软件配置
  14. 苹果鼠标右键怎么按_iPadOS 鼠标支持详解
  15. qt 移动文件夹到另一目录下
  16. excel 根据某单元格的值设置整行颜色(条件格式)
  17. pdf转换成excel转换器
  18. 【SysML】模型图概览
  19. 使用xshell连接Ubuntu出现Connecting to 192.168.85.183:22... Could not connect to '192.168.85.183' (port 22)
  20. 基础C语言代码(10题)

热门文章

  1. 控制台、操作台、调度台如何区分?
  2. xiaomi 小米6刷ubuntu touch
  3. 云漫圈 | 什么是DNS?什么是DNS污染?什么又是DNS劫持?
  4. 类图、用例图、时序图、状态图、活动图、流程图、顺序图(转)
  5. 苹果高管参与直播,或将发布新品
  6. 启用php client,RabbitMQ(二):安装 和 PHP Client
  7. UConn DataMining Math5671 课程小记 知识点:正则化方法
  8. IOS端 vux中scroll滚动自动回弹到顶部或者左侧的解决办法
  9. 知晓云 php,2020 知晓云小程序年度评选获奖名单发布
  10. 机器人编程趣味实践19-武林秘籍(文档)