首页 » 网站推广 » phphtmlcssjs知乎技巧_学代码能有多灾30秒轻松搞定JavaScriptPythonPHPCSS

phphtmlcssjs知乎技巧_学代码能有多灾30秒轻松搞定JavaScriptPythonPHPCSS

访客 2024-11-16 0

扫一扫用手机浏览

文章目录 [+]

Github 上就有一位叫 Angelos Chalaris 的工程师发布了一个项目---30 seconds of code,换句话说,便是30秒就能看懂的 JS 代码。

这个项目整理了一些非常常用的 JS 代码实现片段,并且附上大略的解释,让看得人 30 秒钟就能理解这段 JS 代码的事理。

phphtmlcssjs知乎技巧_学代码能有多灾30秒轻松搞定JavaScriptPythonPHPCSS

下面,

给定一个函数,返回一个闭包,将所有输入网络到一个接管函数的数组中。

phphtmlcssjs知乎技巧_学代码能有多灾30秒轻松搞定JavaScriptPythonPHPCSS
(图片来自网络侵删)

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 地址:https://github.com/30-seconds/30-seconds-of-code

想知道更多 GitHub 精彩内容, 不要忘却关注小编哦!

标签:

相关文章