• dog.__proto__ === Dog.prototype
  • Dog.prototype = {constructor:Dog}
图示如下:

     


四种等价的创建方式:

1.直接用{}字面量创建对象
     point={x:1,y:2}



2.使用class(或者函数) + new 关键字创建对象
  • 每个函数都可以创建对象。每个函数都有prototype属性

     
    • 该构造函数可以通过对象的constructor属性获得。
    • new 操作符的执行过程:
      • 第一步:theTree = Object.create(Tree.prototype)
        • 所以原型链可以被所有的实例共享
      • 第二步:执行constructor函数来初始化.完成整个theTree实例
               


3.Object.create(prototype,properity):指定对象的原型和非原型参数来创建对象
  • 参数prototype就是对象的__proto__属性.(对象的原型)
     

  1. 通过function f(){}字面量创建函数对象


构造函数和对象的关系:
  • animalInstance.__proto__ === Animal.prototype
  • Object.getPrototypeOf(animalInstance) === animalInstance.__proto__

constructor函数:
  • Animal.prototype.constructor === Animal

关系如下图:

    

__proto__和prototype

Object基类:
  • Object是一个函数。(有prototype属性)
  • 默认情况下任何对象都继承于Object。Object是基类不再继承其他
     


2.0.Object的创建

2019-02-17 16:01:50 0 63
这里是评论

相关推荐