进阶-原型

  • 设置对象的原型

    • Object.creacte( proto[, propertiesObject] )

      proto: 一个对象,作为新创建对象的原型
      propertiesObject: 对象属性定义
      var landRover = {
      name: "landRover",
      start: function () {
      console.log("%s start", this.logo);
      },
      run: function () {
      console.log("%s running", this.logo);
      },
      stop: function () {
      console.log("%s stop", this.logo);
      }
      }
      var landWind = Object.create(landRover);
      landWind.logo = "landWind";

      var landCruiser = Object.create(landRover);
      landCruiser.logo = "landCruiser";
      
      landWind.start();
      
    • 构造函数创建对象
      function Car(logo) {
        this.logo = logo || "unknow name";
      }
      Car.prototype = {
        name: "landRover",
        start: function () {
          console.log("%s start", this.logo);
        },
        run: function () {
          console.log("%s running", this.logo);
        },
        stop: function () {
          console.log("%s stop", this.logo);
        }
      }
      
      var landWind = new Car("landWind");
      var landCruiser = new Car("landCruiser");
      
      landWind.start();
      
  • 原型链

    //Car 构造函数
    function Car(logo) {
        this.logo = logo || "unknow name";
    }
    //设置Car的prototype属性
    Car.prototype = {
        start: function() {
            console.log("%s start", this.logo);
        },
        run: function() {
            console.log("%s running", this.logo);
        },
        stop: function() {
            console.log("%s stop", this.logo);
        }
    };
    
    //landRover构造函数
    function LanderRover(serialno) {
        this.serialNumber = serialno;
    }
    //设置LandRover的prototype属性
    LanderRover.prototype = new Car("landRover");
    
    //创建LandRover对象
    var landRover1 = new LanderRover(10000);
    var landRover2 = new LanderRover(10001);
    
原型链.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 单例模式 适用场景:可能会在场景中使用到对象,但只有一个实例,加载时并不主动创建,需要时才创建 最常见的单例模式,...
    Obeing阅读 2,104评论 1 10
  • 工厂模式类似于现实生活中的工厂可以产生大量相似的商品,去做同样的事情,实现同样的效果;这时候需要使用工厂模式。简单...
    舟渔行舟阅读 7,842评论 2 17
  • (a fork of Airbnb's Javascript Style Guide) Strikingly ES...
    飘零_zyw阅读 1,200评论 1 2
  • 1.在春雨中一起漫步 2.能够晚上一起看星星 3.希望能够在电影院看一次所谓的情侣专场电影 4.出去露营 5.骑车...
    lulala_jiang阅读 989评论 0 1
  • S小姐失恋了,其实也不算失恋,充其量那不过就是一场自娱自乐的暗恋罢了。 S小姐过生日的那天,朋友们一起...
    smile若一阅读 527评论 14 3