杂记

这个过程发生了什么?
var obj={};
obj.name //undefined
访问obj对象的时候检索obj本身有没有name属性,如果没有?

根据obj.proto 找到obj对象的构造函数(Object) 的Object.prototype ,看下Object.prototype有没有封装name=属性。有就输出值没有就输出undefined。

为什么不继续往下找,因为Object.prototype.proto指向的是null.

Object.prototype是原型链的终点。

访问一个对象的属性||方法 是一种检索方式,这种检索方式我们称为原型链的检索方式。 能够检索的主要原因是JavaScript每个对象都有proto属性,这个属性关联自身对象的原型对象。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  •   面向对象(Object-Oriented,OO)的语言有一个标志,那就是它们都有类的概念,而通过类可以创建任意...
    霜天晓阅读 2,165评论 0 6
  • 第3章 基本概念 3.1 语法 3.2 关键字和保留字 3.3 变量 3.4 数据类型 5种简单数据类型:Unde...
    RickCole阅读 5,260评论 0 21
  • 大部分面向对象的编程语言,都以“类”(class)为基础,实现对象的继承。JavaScript 语言不是如此,它的...
    许先生__阅读 336评论 0 2
  • 人的一生总是在人群中度过,有人过得很泥泞不堪,有人过得如鱼得水,有的人甚至想远离人群走向心灵之旅。而有的人做到了你...
    书法佳阅读 1,202评论 1 1
  • One 剧版《白鹿原》54集中,冷秋月上吊自杀了。相对原著中,冷秋月一辈子的结束,剧版显得低调了许多,原著里的结局...
    妈小咪阅读 295评论 1 2