凭Object位于原型链的顶端吗?

根据上面这个连接图,我们能得到:

不过,要明确的真正重要的一点就是,这个连接存在于实例(person1)与构造函数(Person)的原型对象(Person.prototype)之间,而不是存在于实例(person1)与构造函数(Person)之间。

注意:因为绝大部分浏览器都支持__proto__属性,所以它才被加入了 ES6 里(ES5 部分浏览器也支持,但还不是标准)。

新对象 obj 是使用 new 操作符后跟一个构造函数来创建的。构造函数(Object)本身就是一个函数(就是上面说的函数对象),它和上面的构造函数 Person 差不多。只不过该函数是出于创建新对象的目的而定义的。所以不要被 Object 吓倒。

这些构造器都是函数对象:

小测试来检验一下你理解的怎么样:

第四题,参照第二题,因为 Person 和 Object 一样都是构造函数

好了,如果以上你都能明白,那就可以继续深入学习第三篇教程了,看我下一篇的更新哦

小编是个多年开发经验的程序员。如果你想要学好WEB前端,在学习过程中,身边没有一个能够指导你学习的人,可以到这个WEB前端裙,里面最新学习路线和教程,不管是计算机专业想要往WEB前端方向发展,还是零基础想转行,都可以跟着教程学,有什么不懂的可以在里面问,这就是WEB前端裙:

  • 原型:原型是一个prototype对象,用于表示类型之间的关系。(为每个实例对象存储共享的方法和属性)
  • 原型链:每个对象包括原型对像都有一个内置的__proto__属性指向它的函数对象的原型对象,直到指向Object对象为止,这样就形成了一个原型指向的链条

关于原型、构造函数和实例的区别??

函数对象与Object(一切函数对象都直接继承自Function对象)


实现一个原型链继承??

instanceOf是如何进行判断对象类型的??


通过判断实例的_proto_属性与构造函数的prototype属性是否指向同一个原型对象。
注意1: 实例的_proto_指向的是构造函数的prototype属性,与构造函数没有关系。
注意2: 原型上面可能还有会有原型,会沿着原型链继续向上找,找到返回true,反之返回false。

但是我们不能轻易说明fooObject的实例,只有以下满足,才是Object的实例。

    构造函数Person被传入参数并调用,关键字this被设定指向该实例obj;
  //1.拿到传入的参数中的第一个参数,即构造函数名Func   //3.执行构造函数,并将this指向创建的空对象obj   //4.返回创建的对象obj

我要回帖

更多关于 鹰是食物链顶端么 的文章

 

随机推荐