1. 原型链(图解)
    • 访问一个对象的属性时,
      • 先在自身属性中查找,找到返回
      • 如果没有, 再沿着**proto**这条链向上查找, 找到返回
      • 如果最终没找到, 返回undefined
    • 别名: 隐式原型链
    • 作用: 查找对象的属性(方法)
    1. 构造函数/原型/实体对象的关系(图解)

      1. var o1 = new Object();
      2. var o2 = {};

      image.png

    2. 构造函数/原型/实体对象的关系2(图解)

      1. function Foo(){}

      image.png

      1. function Fn() {
      2. this.test1 = function () {
      3. console.log('test1()')
      4. }
      5. }
      6. Fn.prototype.test2 = function () {
      7. console.log('test2()')
      8. }
      9. var fn = new Fn()
      10. fn.test1() //test1()
      11. fn.test2() //test2()
      12. console.log(fn.toString()) // [object Object]
      13. fn.test3() //Uncaught TypeError: fn.test3 is not a function

      原型链 - 图3