前言:
现在你们对“css有多难”可能比较注意,姐妹们都需要学习一些“css有多难”的相关资讯。那么小编同时在网上收集了一些有关“css有多难””的相关内容,希望姐妹们能喜欢,看官们快快来学习一下吧!30秒能做什么?就连泡面都泡不熟,但是却可以让你轻松看懂一段代码。
Github 上就有一位叫 Angelos Chalaris 的工程师发布了一个项目---30 seconds of code,换句话说,就是30秒就能看懂的 JS 代码。
这个项目整理了一些非常常用的 JS 代码实现片段,并且附上简单的说明,让看得人 30 秒钟就能理解这段 JS 代码的原理。
下面,小编就挑几个来给大家看看:
collectInto - 将接受数组的函数改变为可变参数函数
将接受数组的函数改变为可变参数函数。
给定一个函数,返回一个闭包,将所有输入收集到一个接受函数的数组中。
const collectInto = fn => (...args) => fn(args);flip - 翻转函数参数
flip 接受一个函数参数,然后将该函数第一个参数作为最后一个参数。(注:翻转参数)
返回一个接受可变参数输入的闭包,并且在应用其余参数之前将最后一个参数作为第一个参数。
const flip = fn => (...args) => fn(args.pop(), ...args);pipeFunctions - 执行从左到右的函数组合
执行从左到右的函数组合。
使用Array.reduce()与展开操作符(...)来执行从左到右的函数组合。第一个(最左边的)函数可以接受一个或多个参数;其余的函数必须是一元函数。
const pipeFunctions = (...fns) => fns.reduce((f, g) => (...args) => g(f(...args)));promisify - 柯里化一个 Promise 函数
转换一个异步函数,以返回一个 promise 。
使用柯里化返回一个函数,这个函数返回一个调用原始函数的 Promise 。 使用 ...rest 运算符传入所有参数。
在 Node 8+ 中,你可以使用 util.promisify
const promisify = func => (...args) => new Promise((resolve, reject) => func(...args, (err, result) => (err ? reject(err) : resolve(result))) );spreadOver - 将参数数组映射到该函数的输入
接受一个可变参数函数并返回一个闭包,该闭包接受一个参数数组映射到该函数的输入。
使用闭包和展开运算符 (...) 将参数数组映射到函数的输入。
const spreadOver = fn => argsArr => fn(...argsArr);
30 看懂 JavaScript 还不够满足?30 秒系列如下:
30 Seconds of CSS30 Seconds of Interviews30 Seconds of React30 Seconds of Python30 Seconds of PHP30 Seconds of Kotlin
GitHub 地址:
想知道更多 GitHub 精彩内容, 不要忘记关注小编哦!
标签: #css有多难