美文网首页
实现一个英雄类Hero

实现一个英雄类Hero

作者: 小小的白菜 | 来源:发表于2018-09-29 10:44 被阅读0次

原文

使用原生JS实现一个英雄类Hero, 可以按照以下方式调用(考察点: JavaScript流程控制)

  • Hero("37FEer")输出:
    • Hi!This is 37FEer!
  • Hero("37FEer").kill(1).recover(30)输出:
    • Hi!This is 37FEer!
    • Kill 1 bug (注意:数量1个,所以bug是单数);
    • Recover 30 bloods;
  • Hero("37FEer").sleep(10).kill(2)输出:
    • Hi!This is 37FEer!
    • // 等待10秒..
    • Kill 2 bugs(注意:数量2个,所以bugs是复数);
class Hero {
    constructor(name) {
      this.name = name
      this.sum = 0
      this.promise = Promise.resolve()
    }

    sleep(time) {
      this.promise = this.promise.then(function () {
        console.log('在床上睡' + time + '毫秒...')
        return new Promise(function (resolve) {
          setTimeout(resolve, time)
        })
      })
      return this
    }

    kill(num) {
      const that = this
      this.promise = this.promise.then(function () {
        that.sum += num
        console.log(`${that.name} 已干掉 ${that.sum} 只怪兽!`)
        return Promise.resolve()
      })
      return this
    }
  }
  const hero = new Hero('超人');
  hero
    .kill(3)
    .sleep(100000)
    .kill(4)

相关文章

网友评论

      本文标题:实现一个英雄类Hero

      本文链接:https://www.haomeiwen.com/subject/cwkvoftx.html