Function

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
*