原型、原型链

  • 构造函数
    js中,当使用new操作符来作用于某个函数时,这个函数被视为构造函数(构造器);
  • 原型
    js中,所有对象都具有一个私有属性: _proto_,所有的构造函数都具有一个原型对象:protoType,对象的 _proto_指向其构造函数的原型对象;
    例如
    fun(){...};
    let ob = new fun();
    则
    ob._proto_ = fun.protoType;
  • 原型链
    在上例中,实例对象ob的原型对象指向构造函数的原型对象fun.protoType,而fun.protoType作为一个对象,也有其自己的原型对象,依次类推,构成原型链;
    由于基本上所有的对象都是Object的实例,故原型链的最顶端为Object.protoType;js规定,Object.protoType的原型对象为null,null没有原型对象;所以一个基本的原型链应为:
    ob --> fun.protoType --> Object.protoType --> null
上一篇:python第二课,字符串的魔法


下一篇:python 函数式编程