龙空技术网

学代码能有多难,30秒轻松搞定JavaScript、Python、PHP、CSS

GitHub优选 1513

前言:

现在你们对“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有多难