博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LazyMan
阅读量:5945 次
发布时间:2019-06-19

本文共 1406 字,大约阅读时间需要 4 分钟。

实现函数LazyMan,使得:

LazyMan('Hank'); 输出

Hi Hank!

LazyMan('Hank').eat('dinner');输出

Hi Hank!
Eat dinner!

LazyMan('Hank').sleep(5).eat('dinner'); 输出

Hi Hank!
//等待五秒
Eat dinner!

LazyMan('Hank').sleepFirst(5).eat('dinner');输出

//等待五秒
Hi Hank!
Eat dinner!

实现代码:

function LazyMan(name) {    lp.taskList.push('Hi ' + name + '!');    return lp.exe();}var lp = LazyMan.prototype;lp.taskList = [];     lp.eat = function(v) {    lp.taskList.push('Eat ' + v + '!');    return lp.exe();}lp.sleep = function(t) {    lp.taskList.push('sleep ' + t);    return lp.exe();}lp.sleepFirst = function(t) {    lp.taskList.unshift('sleep ' + t);    return lp.exe();}lp.taskStart = false;lp.exe = function() {    var that = this;    if(!lp.taskStart) {        lp.taskStart = true;        setTimeout(function() {            doTask(lp.taskList);            that.taskList = [];        }, 0);    }    return lp;}function doTask(taskList) {    if(taskList.length) {        var task = taskList.shift();        if(task.indexOf('sleep') !== -1) {            var match = task.split(' ');            var t = parseInt(match[1]);            setTimeout(function(){                doTask(taskList);            }, t * 1000);        } else {            console.log(task);            doTask(taskList);        }    }}// LazyMan('Hank');// LazyMan('Hank').eat('dinner');// LazyMan('Hank').sleep(5).eat('dinner');LazyMan('Hank').sleepFirst(5).eat('dinner');

转载地址:http://ufzxx.baihongyu.com/

你可能感兴趣的文章
用java数组模拟登录和注册功能
查看>>
javaScript实现归并排序
查看>>
关于jsb中js与c++的相互调用
查看>>
串结构练习——字符串匹配
查看>>
CF Round #426 (Div. 2) The Useless Toy 思维 水题
查看>>
UVA 122 Trees on the level 二叉树 广搜
查看>>
POJ-2251 Dungeon Master
查看>>
tortoisesvn的安装
查看>>
大S变"汪太"!与汪小菲注册结婚
查看>>
我是怎么使用最短路径算法解决动态联动问题的
查看>>
URAL 1353 Milliard Vasya's Function DP
查看>>
速读《构建之法:现代软件工程》提问
查看>>
Android onclicklistener中使用外部类变量时为什么需要final修饰【转】
查看>>
django中聚合aggregate和annotate GROUP BY的使用方法
查看>>
TFS简介
查看>>
docker管理平台 shipyard安装
查看>>
安装django
查看>>
Bootstrap3 栅格系统-简介
查看>>
ADODB类库操作查询数据表
查看>>
第五章(5)Libgdx应用框架之线程
查看>>