原型链

2018-05-09  本文已影响0人  zhangjingbibibi
// console.log(Object)
//console.log(Object.prototype)
console.log(Object.prototype.__proto__)    //输出null
  function Fn() {
    this.test1 = function () {
      console.log('test1()')
    }
  }
  console.log(Fn.prototype);
  Fn.prototype.test2 = function () {
    console.log('test2()')
  }
  var fn = new Fn()
  fn.test1()
  fn.test2()
  console.log(fn.toString())
  console.log(fn.test3)
  // fn.test3()

原型链分析.png
 /*
 1. 函数的显示原型指向的对象默认是空Object实例对象(但Object不满足)
  */
 console.log(Fn.prototype instanceof Object) // true
 console.log(Object.prototype instanceof Object) // false
 console.log(Function.prototype instanceof Object) // true
 /*
 2. 所有函数都是Function的实例(包含Function)
 */
 console.log(Function.__proto__===Function.prototype)
 /*
 3. Object的原型对象是原型链尽头
  */
 console.log(Object.prototype.__proto__) // null
上一篇下一篇

猜你喜欢

热点阅读