[: currentTime | date:'mm:ss' :] [: timeLeft | date:'mm:ss' :]

代码示例

<script>
  var studentCount = 0;

  function Student() {
  }

  function StudentBuilder() {
    this.student = new Student();

    this.setName = function (name) {
      this.student.name = name;
    }

    this.setGender = function (gender) {
      if (gender != '男' && gender != '女')
        throw '好玩不';

      this.student.gender = gender;
    }

    this.setHairLength = function (hairLength) {
      if (
        (this.student.gender == '男' && hairLength > 1) ||
        (this.student.gender == '女' && hairLength > 25)
      ) throw '回去剪头';

      this.student.hairLength = hairLength;
    }

    this.build = function () {
      studentCount++;
      console.log(studentCount);
      return this.student;
    }
  }

  var builder = new StudentBuilder();
  builder.setName('王花花');
  builder.setGender('男');
  builder.setHairLength(1);
  var whh = builder.build();

  var builder2 = new StudentBuilder();
  builder2.setName('李拴蛋');
  builder2.setGender('女');
  builder2.setHairLength(20);
  var whh = builder2.build();

  console.log(whh);
</script>
[: currentTime | date:'mm:ss' :] [: timeLeft | date:'mm:ss' :]

代码示例 - 原型化

<script>
  var studentCount = 0;

  function Student() {
  }

  function StudentBuilder() {
    this.student = new Student();
  }

  StudentBuilder.prototype.setName = function (name) {
    this.student.name = name;
  }

  StudentBuilder.prototype.setGender = function (gender) {
    if (gender != '男' && gender != '女')
      throw '好玩不';

    this.student.gender = gender;
  }

  StudentBuilder.prototype.setHairLength = function (hairLength) {
    if (
      (this.student.gender == '男' && hairLength > 1) ||
      (this.student.gender == '女' && hairLength > 25)
    ) throw '回去剪头';

    this.student.hairLength = hairLength;
  }

  StudentBuilder.prototype.build = function () {
    studentCount++;
    console.log(studentCount);
    return this.student;
  }

  var builder = new StudentBuilder();
  builder.setName('王花花');
  builder.setGender('男');
  builder.setHairLength(1);
  var whh = builder.build();

  var builder2 = new StudentBuilder();
  builder2.setName('李拴蛋');
  builder2.setGender('女');
  builder2.setHairLength(20);
  var lsd = builder2.build();

  console.log(lsd);
</script>

代码示例 - ES6

<script>
  let studentCount = 0;

  class Student {
  }

  class StudentBuilder {
    constructor() {
      this.student = new Student();
    }

    setName(name) {
      this.student.name = name;
    }

    setGender(gender) {
      if (gender != '男' && gender != '女')
        throw '好玩不';

      this.student.gender = gender;
    }

    setHairLength(hairLength) {
      if (
        (this.student.gender == '男' && hairLength > 1) ||
        (this.student.gender == '女' && hairLength > 25)
      ) throw '回去剪头';

      this.student.hairLength = hairLength;
    }

    build() {
      studentCount++;
      console.log(studentCount);
      return this.student;
    }
  }

  const builder = new StudentBuilder();
  builder.setName('王花花');
  builder.setGender('男');
  builder.setHairLength(1);
  const whh = builder.build();

  const builder2 = new StudentBuilder();
  builder2.setName('李拴蛋');
  builder2.setGender('女');
  builder2.setHairLength(20);
  const lsd = builder2.build();

  console.log(lsd);
</script>
登录后评论