Javascript 把 setTimeout 改成 delay,延时执行+链式调用

背景

setTimeout 多了,总是觉得这函数就差那么一点点,不是很顺手,就萌生了要改造一下此函数的念头;改成可以链式编程的,名字也更加接地气点的,就叫 delay 吧。

直接挂原型链代码如下:

1/**
2 * 让目标(Object)延时执行,可以链式使用
3 *
4 * @param {Number} time
5 * @param {Function} doSomething -
6 *                               - @param {Object} self -- 作为参数回调使用
7 *                               - @param {Number} startTime -- 作为参数回调使用
8 * @return {Object}
9 */
10Object.prototype.delay = function (time, doSomething) {
11    var self = this,
12        startTime = time;
13    if (self) {
14        setTimeout(function () {
15            doSomething(self, startTime);
16        }, time);
17    }
18    return this;
19}

链式使用例子代码如下:

继续阅读“Javascript 把 setTimeout 改成 delay,延时执行+链式调用”