ITPub博客

首页 > IT职业 > IT生活 > JS剖析 —— 原型链

JS剖析 —— 原型链

IT生活 作者:ma_ti 时间:2021-09-09 10:33:11 0 删除 编辑
  • 原型链

  • 访问一个对象的属性时:

    • 先在自身属性中查找,找到返回

    • 如果没有,再沿着proto这条链向上查找,找到返回

    • 如果最终没找到,返回undefined

  • 别名:隐式原型链

  • 作用:查找对象的属性(方法)

  • 构造函数/原型/实体对象的关系(图解)
    var o1=new Object();
    var o2={};


    图片描述

    image.png

  • 构造函数/原型/实体对象的关系2(图解)
    function Foo(){}


    图片描述

    image.png

// 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


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/93/viewspace-2823406/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2026-01-07

  • 博文量
    0
  • 访问量
    5413