前端学习笔记之--JS的原型和原型链的理解(2)

增加JS原型和原型链的理解哦哦哦哦哦哦~~~~

      function Vehicle() {
        this.run = function () {
          console.log('i can run');
        }
      }

      function Car() {
        this.load =function() {
          console.log('i can load people');
        }
      }

      var Truck = new Vehicle();//创建一个Vehicle()的实例 Truck;


      Car.prototype = new Vehicle();//给Car的显示原型指向new Vehicle()创建的新实例;
      //然后给Car的显示原型(vehicle)增加新的属性 fast 
      Car.prototype.fast = function() {
          console.log('i can run fast');
      };/*该方法的添加一定要在创建实例后,若Car.prototype = new Vehicle();在后面的话会覆盖fast这个方法*/

      //创建一个Car的实例,
      //1.然后调用Car的方法
      //2.再调用Car原型扩展的方法fast。
      var Bens = new Car();
      Bens.run();
      Bens.fast();

      //在这打印出来就可以看出,Car.prototype.fast(只是一个指针而已)并没有改变原来的Vehicle()
      console.log(Truck);
      //以下的两个console.可以看出fast是在Vecicle里面的一个方法。
      //run是Car里的方法。
      console.log(Bens);
      console.log(Car.prototype);
      console.log(Bens instanceof Car);

猜你喜欢

转载自blog.csdn.net/qq_41176706/article/details/83420656