美文网首页
实现一个LazyMan

实现一个LazyMan

作者: wengjq | 来源:发表于2017-01-22 16:51 被阅读33次
function _lazyMan(name) {
  this.tasks = [];   
  var _this = this;
  var fn =(function(n){
    var name = n;
    return function(){
      console.log("Hi! This is " + name + "!");
      _this.next();
    }
  })(name);
  this.tasks.push(fn);
  setTimeout(function(){
    _this.next();
  }, 0); 
}
_lazyMan.prototype.next = function() { 
  var fn = this.tasks.shift();
  fn && fn();
}
_lazyMan.prototype.eat = function(name) {
  var _this = this;
  var fn =(function(name){
    return function(){
       console.log("Eat " + name + "!");
       _this.next();
    }
  })(name);
  this.tasks.push(fn);
  return this; 
}
_lazyMan.prototype.sleep = function(time) {
  var _this = this;
  var fn = (function(time){
    return function() {
        setTimeout(function(){
           console.log("Wake up after " + time + "s!");
           _this.next();
        }, time * 1000);
    }
  })(time);
  this.tasks.push(fn);
  return this;
}
function lazyMan(name){
  return new _lazyMan(name);
}

相关文章

  • js重点与难点(转)

    javascript LazyMan实现LazyMan(什么是LazyMan?请自行google)function...

  • LazyMan的实现

    题目介绍 实现一个 LazyMan,可以按照以下方式调用:LazyMan("Hank") 输出:Hi! This ...

  • lazyman

    实现一个LazyMan,可以按照以下方式调用:LazyMan(“Hank”)输出:Hi! This is Hank...

  • LazyMan 实现...

    // 实现一个LazyMan,可以按照以下方式调用:// LazyMan(“Hank”)输出:// Hi! Thi...

  • 实现一个LazyMan

    实现一个 LazyMan,可以按照以下方式调用:LazyMan("Hank")输出:Hi! This is Han...

  • LazyMan的深入解析和实现

    一、题目介绍 以下是我copy自网上的面试题原文: 实现一个LazyMan,可以按照以下方式调用:LazyMan(...

  • Lazyman的两种实现方式

    实现一个LazyMan, 可以按下列方式调用: 方式一: 方式二:

  • lazyman 实现

    function _lazyman(name) {this.tasks = [];var self = this;...

  • 实现lazyMan

    涉及的知识点: 流程控制:创建task任务队列,使用push、shift、unshift方法操作任务 闭包:当闭包...

  • LazyMan 自己的笨办法

    LazyMan 自己的笨办法 看了LazyMan,先用自己的笨办法写了个,只是为了实现功能,其他要求都没达到 本人...

网友评论

      本文标题:实现一个LazyMan

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