构造函数拥有名为prototype属性,每个对象都拥有__proto__属性,而且每个对象的__proto__属性指向自身构造函数prototype。

当调用某种方法或属性时,首先会在自身调用或查找,如果自身没有该属性或者方法,则会去它的__proto__属性中调用查找,也就是它构造函数的prototype中调用查找;

function Person(){}
var person = new Person();
console.log(person.__proto__==Person.prototype); //true
console.log(Person.__proto__==Function.prototype); //true
console.log(String.__proto__==Function.prototype); //true
console.log(Number.__proto__==Function.prototype); //true
console.log(JSON.__proto__==Function.prototype); //false
console.log(JSON.__proto__==Object.prototype); //true
console.log(Math.__proto__==Object.prototype); //true
console.log(Function.__proto__==Function.prototype); //true

因为构造函数.prototype也是对象(称之为原型对象),因此也具有__proto__方法,所有的构造函数的原型对象都指向Object.prototype(除了Object.prototype自身);

console.log(Person.prototype.protoObject.prototype); //true

console.log(Object.prototype.protonull); //true

最新文章

  1. Caused by: java.lang.NoSuchFieldError: TRACE
  2. 各大公司广泛使用的在线学习算法FTRL详解
  3. <算法竞赛入门经典> 第8章 贪心+递归+分治总结
  4. memcache的安装及管理
  5. 《转》java动态代理(JDK和cglib)
  6. 接上一篇中记录Echarts进度环使用【不同状态不同进度环颜色及圈内文字】--采用单实例业务进行说明
  7. [UWP]了解模板化控件(5.1):TemplatePart vs. VisualState
  8. 浏览网页之Web服务器
  9. Java基础---IO(三)--IO包中的其他类
  10. 某互联网后台自动化组合测试框架RobotFramework+Python+Sikuli
  11. 阿里mysql同步工具otter的docker镜像
  12. 动态链接库(DLL)
  13. 浮点数运算结果不精确,以及用String来构造BigDecimal进行浮点数精确计算
  14. Sql Server 只有MDF文件恢复数据库的方法以及2008清除日志文件
  15. Python day3_string的常见方法2_笔记
  16. ecmall 基础类分析
  17. 深入理解java虚拟机(六)字节码指令简介
  18. XSS分类&危害&防御
  19. Java入门:修改IDE主题颜色
  20. SVN的正确提交方式

热门文章

  1. VS2013大括号高亮显示的设置方法
  2. easyUI中的layout
  3. Java进程堆外内存(off heap)大小
  4. 深圳MPD大会 讲师演讲稿 2014-10
  5. MapReduce的矩阵相乘
  6. [HNOI2011]XOR与路径
  7. 48.EXt.Data.JsonReader()
  8. thinkphp结合云之讯做短信验证码
  9. thinkphp自带的验证码出现的问题
  10. [Swift通天遁地]五、高级扩展-(2)扩展集合类型