1Introduction
- description:function utils
- author:云淡然
- create:2016年11月26日14:41:29
- update:2016年11月26日14:41:29
- github:https://github.com/blearjs/blear.utils.function
2Example
var fun = require('blear.utils.function');
3Static
3.1.ensure(fn): ensuredFn
确保返回一个函数,避免一次 if 操作。
fun.ensure();
// => function noop() {}
3.1.1fn
- 类型:
*
3.1.2ensuredFn
- 类型:
Function
- 说明:如果
fn
是一个函数,则返回fn
,否则返回一个noop
3.2.name(fn): fnName
获取函数名。
fun.name(fn);
3.2.1fn
- 类型:
Function
3.2.2fnName
- 类型:
String
- 说明:传入的函数的名称,如果匿名返回
anonymous
3.3.throttle(fn, [timeout=30]): throttledFn
确保返回一个至少间隔一段时间执行函数。
window.onscroll = fun.throttle(function(){
// 在滚动期间,至少间隔 30ms 执行
});
3.3.1fn
- 类型:
Function
- 说明:实际执行的函数
3.3.2timeout
- 类型:
Number
- 说明:至少间隔时间,单位 ms
- 默认:
30
3.3.3throttledFn
- 类型:
Function
- 说明:返回一个新函数,是
fn
的包装函数
3.4.debounce(fn, [timeout=30]): .debouncedFn
确保至少在最后一次触发的间隔时间后执行。
window.onscroll = fun.debounce(function(){
// 只在最后一次触发的 30ms 后执行
});
3.4.1fn
- 类型:
Function
- 说明:实际执行的函数
3.4.2timeout
- 类型:
Number
- 说明:至少间隔时间,单位 ms
- 默认:
30
3.4.3debouncedFn
- 类型:
Function
- 说明:返回一个新函数,是
fn
的包装函数
3.5.once(fn): oncedFn
确保函数只被执行一次。
window.onscroll = fun.once(function(){
// 只在第一次触发时执行
});
3.5.1fn
- 类型:
Function
- 说明:实际执行的函数
3.5.2oncedFn
- 类型:
Function
- 说明:返回一个新函数,是
fn
的包装函数
3.6.toggle(...fn): toggledFn
函数执行切换。
var myFn = fun.toggle(fn1, fn2, fn3);
myFn(); // => 执行 fn1
myFn(); // => 执行 fn2
myFn(); // => 执行 fn3
myFn(); // => 执行 fn1
myFn(); // => 执行 fn2
myFn(); // => 执行 fn3
3.6.1fn
- 类型:
Function
- 说明:实际执行的函数,可以是多个函数,将会按照执行次数顺序被依次执行
3.6.2toggledFn
- 类型:
Function
- 说明:返回一个新函数,是
fn
的包装函数
3.7.until(fn, condition): undefined
确保直到条件成立之后才会被执行,异步。内部维护一个定时器来判断。
fun.until(function() {
// ...
}, function () {
return true;
});
3.7.1fn
- 类型:
Function
- 说明:实际执行的函数
3.7.2condition
- 类型:
Function
- 说明:判断条件是否成立函数,返回
true
表示条件成立
4Dependencies
- blear.utils.access
- blear.utils.array
- blear.utils.date
- blear.utils.debug
- blear.utils.time
- blear.utils.typeis