背景
用 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 | */ |
10 | Object.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 | } |