欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

体验usually.js的管道函数——pipe函数

程序员文章站 2022-07-01 09:04:52
usually.js 是一个面向现代 Web 开发的 JavaScript 函数库,基于 ES6 开发。最新版本2.4.1,最新版本usually.js增加管道函数—— pipe 函数。什么是管道函数?管道函数,其作用是将前一步的结果直接传参给下一步的函数,从而省略了中间的赋值步骤,可以大量减少内存... ......

体验usually.js的管道函数——pipe函数

usually.js 是一个面向现代 web 开发的 javascript 函数库,基于 es6 开发。最新版本2.4.1,最新版本usually.js增加管道函数—— pipe 函数。什么是管道函数?管道函数,其作用是将前一步的结果直接传参给下一步的函数,从而省略了中间的赋值步骤,可以大量减少内存中的对象,节省内存。

基本使用

usually.js 管道函数 pipe 的管道操作符 |> 允许以一种易读的方式去对函数链式调用。本质上来说,管道操作符是单参数函数调用的语法糖,它允许你像这样执行一个调用:

var a = -1.15454
var result = u.pipe(a, 'math.abs |> math.round')


使用正常js语法写的话,等效的代码是这样的:

var a = -1.15454
var result = math.round(math.abs(a))

使用$占位符

usually.js 的管道函数 pipe 还可以使用 $ 占位符,将前一个函数的运算结果传参给下一个的函数,如:u.pipe(x, 'a |> b($, y)') 等价于 b(a(x), y)。

使用 $ 占位符示例:

var x = 1
var y = 3
var z = 2

var foo = n => n + 1;
var bar = (x, y) => x * y;
var baz = (x, y, z) => x * y + z
      
var result = u.pipe(x, 'foo |> bar($, y) |> baz($ , y, z)')
// => result = 20


2.4.1版本 usually.js 更新内容如下:

(1)、bug 修复,修复 stringifyurl 函数重复追加“?”的bug
(2)、新增管道操作函数 —— pipe 函数,简化多函数运算流
(3)、新增对象值覆盖函数 —— overvalues 函数
(4)、新增颜色值处理函数 —— extendhex 函数,将3位的16进制色值转换为6位
(5)、新增 randomhex 函数 —— 生成16进制随机颜色色值
(6)、新增 parsecookie 函数,将 cookie 字符串解析为对象形式

附录

usually.js官方文档地址
usually.js的github地址https://github.com/jofunliang/usuallyjs