Methods
(inner) noce(fn) → {function}
- Source:
将函数fn转为一次函数。返回函数,函数只能执行一次。
Example
const fn = once(() => '5')
console.log([fn(), fn()])
// => ['5', undefined]
Parameters:
Name | Type | Description |
---|---|---|
fn |
function | 执行的函数。 |
Returns:
- Type
- function
(inner) debounce(fn, delayopt) → {function}
- Source:
将函数fn转为防抖函数。返回防抖函数。
Example
window.addEventListener('resize', U.debounce(() => {
console.log(window.innerWidth);
console.log(window.innerHeight);
}, 250));
// => 调整浏览器窗口尺寸,在250ms后控制台将打印一次窗口尺寸
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
fn |
function | 函数。 | ||
delay |
number |
<optional> |
0
|
可选,防抖动延迟时长,单位为ms,默认为0。 |
Returns:
- Type
- function
(inner) throttle(fn, wait) → {function}
- Source:
将函数fn转为节流函数。返回节流函数。
Example
window.addEventListener('resize', U.throttle(function(evt) {
console.log(window.innerWidth);
console.log(window.innerHeight);
}, 250));
// 调整浏览器窗口尺寸,没间隔250ms控制台将打印一次窗口尺寸
Parameters:
Name | Type | Description |
---|---|---|
fn |
function | 函数。 |
wait |
number | 节流时长,单位为ms。 |
Returns:
- Type
- function
(inner) pipe(param, line) → {*}
- Source:
管道函数,占位符“$”为上一个函数的运算结果,如:pipe(x, `a |> b($, y)`) 等价于 b(a(x), y)。
Example
const x = 1;
const y = 3;
const a = n => n + 1;
const b = (x, y)=> x * y;
const c = n => n * n;
pipe(x, `a |> b($, y)`)
// => 6
pipe(x, `a |> c`)
// => 4
Parameters:
Name | Type | Description |
---|---|---|
param |
* | 函数参数。 |
line |
string | 管道线。 |
Returns:
- Type
- *