文章教程

文章教程

文章教程

3532 文章 277052 浏览

函数式编程之柯里化

概念 柯里化(英语:Currying),又称为部分求值,是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回一个新的函数的技术,新函数接受余下参数并返回运算结果。 核心思想 你可以使用比它期望的更少的参数调用一个函数。它会返回一个新函数用于接收剩余的参数。 换句话说,一个柯里函数随着时间的推移会接收并提供额外的参数。它通过返回一个全新的函数来实现这个功能。 有什么用…

JSmiles 11小时以前 浏览 816 评论 0 收藏 0

react-native-cli 使用 cnpm 加快依赖安装速度

运行带有本地修改的 CLI React Native 以两个 npm 包的形式分发,react-native-cli 和 react-native,第一个是轻量级包,应该全局安装(npm install -g react-native-cli),而第二个包含实际的 React Native 框架代码,并在您运行时本地安装到您的项目中 react-native init。 因为 react-nati…

JSmiles 12小时以前 浏览 867 评论 0 收藏 0

如何阅读 JavaScript 源代码

作为一名前端工程师,我必须学习很多新技术才能赶上我的工作需求。学习最新技术并不容易,因为我们必须: 阅读英文文档无需翻译。(对于不会说英语的人来说,这不是一个好消息 XD) 阅读不完善/没有文档的源代码。 但我们必须面对音乐:学习最新技术或回家。身无分文的人别无选择,所以我尝试总结一些技巧以使其更容易一些。 找到入口文件 入口文件是开始阅读的好地方。这里有一些关于如何找到入口文件的技巧。 感谢 N…

JSmiles 12小时以前 浏览 847 评论 0 收藏 0

JavaScript专题之跟着 underscore 学节流

为什么要限制事件的频繁触发,以及如何做限制: debounce 防抖 throttle 节流 今天重点讲讲节流的实现。 节流 节流的原理很简单:如果你持续触发事件,每隔一段时间,只执行一次事件。根据首次是否执行以及结束后是否执行,效果有所不同,实现的方式也有所不同。我们用 leading 代表首次是否执行,trailing 代表结束后是否再执行一次。 关于节流的实现,有两种主流的实现方式,一种是使…

话少情深 17小时以前 浏览 626 评论 16 收藏 0

JavaScript 专题之解读 v8 排序源码

  • JavaScript 专题之解读 v8 排序源码
  • JavaScript 专题之解读 v8 排序源码
  • JavaScript 专题之解读 v8 排序源码
  • JavaScript 专题之解读 v8 排序源码

v8 是 Chrome 的 JavaScript 引擎,其中关于数组的排序完全采用了 JavaScript 实现。排序采用的算法跟数组的长度有关,当数组长度小于等于 10 时,采用插入排序,大于 10 的时候,采用快速排序。(当然了,这种说法并不严谨)。我们先来看看插入排序和快速排序。 插入排序 原理 将第一个元素视为有序序列,遍历数组,将之后的元素依次插入这个构建的有序序列中。 图示 实现 fu…

赠佳期 23小时以前 浏览 699 评论 4 收藏 0

在 Vue 中的监听器与计算属性

Vue的 watch()函数 可以起到与 计算属性 。 例如,假设您要跟踪用户购物车中的商品数量。 你可以代表 numItems 作为计算属性: const app = new Vue({ data: () => ({ items: [{ id: 1, price: 10, quantity: 2 }] }), computed: { numItems: function numItems(…

虐人心 1天以前 浏览 828 评论 0 收藏 0

通过 5 个示例了解 JavaScript 数组过滤器功能

JavaScript 数组有一个 filter()方法 ,让您创建一个只包含您需要的元素的新数组。 这里有 5 个常见的例子来演示如何使用 filter()。 1、过滤基元数组 这 filter()函数接受一个回调,并返回一个新数组,其中仅包含 callback回归真实。 这意味着您可以使用 filter()过滤基元数组,例如查找以“A”开头的字符串数组中的所有元素,或查找数组中的所有偶数: co…

虐人心 1天以前 浏览 981 评论 0 收藏 0

5 个令人惊艳的 3D 打印项目

  • 5 个令人惊艳的 3D 打印项目
  • 5 个令人惊艳的 3D 打印项目
  • 5 个令人惊艳的 3D 打印项目
  • 5 个令人惊艳的 3D 打印项目

桌面3D打印依旧以迅猛的速度发展着。这要归功于自由软件、自由的创新、以及 开源硬件,这对于项目、产品以及那些分享到价值的公司都有增长的好处。 本文重点介绍了5款在2015年属于顶级的3D打印相关的项目,当然本文并不能包括所有的社区上的那些伟大的项目。 OpenBCI 图片描述:OpenBCO 的 Conor Russomanno 在讲述他们最近的一个项目是基于 OpenBCI 这款开源的大脑和计算…

醉酒的小男人 1天以前 浏览 892 评论 0 收藏 0

函数式编程之组合与管道

组合 compose compose()会把你需要函数结合在一起,像一根管道一样,函数就是这跟管道的节点。你只需要从管道的开始端注入数据,管道会把你的数据处理成你想要的数据然后返回给你。 compose()函数的作用就是组合函数的,将函数串联起来执行,将多个函数组合起来,一个函数的输出结果是另一个函数的输入参数,一旦第一个函数开始执行,就会像多米诺骨牌一样推导执行了。 类似于,数学中的复合函数。函…

JSmiles 1天以前 浏览 904 评论 0 收藏 0

面试编程题整理

数组 0 后置 将数组中的 0 项搁置到数组的尾部,其他项的相对位置保持不变。要求时间复杂度为 O(n) 例如: 输入:[2, 3, 0, 1, 0, 8]; 输出:[2, 3, 1, 8, 0, 0]; 代码: function sortZero(arr) { let zero; let flag = 0; for(let i = 0, len = arr.length; i < len;…

JSmiles 1天以前 浏览 837 评论 0 收藏 0

动手实现一个最简单的 redux

redux 的主要 API 集中在 createStore 函数返回值中,以下这个迷你的 redux 只简单实现 createStore、dispatch、subscribe、getState 方法,如下: const createStore = function(reducer, initialState){ let currentState = undefined; if(initialSta…

放肆 1天以前 浏览 753 评论 0 收藏 0

第 156 题:求最终 left、right 的宽度(变形)

<div class="container"> <div class="left"></div> <div class="right"></div> </div> <style> * { padding: 0; margin: 0; } .container { width: 600px; height: 300p…

妖妓 1天以前 浏览 659 评论 17 收藏 0

第 111 题:编程题,写个程序把 entry 转换成如下对象

var entry = { a: { b: { c: { dd: 'abcdd' } }, d: { xx: 'adxx' }, e: 'ae' } } // 要求转换成如下对象 var output = { 'a.b.c.dd': 'abcdd', 'a.d.xx': 'adxx', 'a.e': 'ae' }

祁梦 1天以前 浏览 829 评论 59 收藏 0

关于 Babel 6 的 loose mode

1.Overview loose mode 我翻译为松散模式,loose mode 在 babel 中通常是不推荐使用的,但是我们需要知道的是使用 loose mode 转换而来的代码更加像ES5的代码(更像是人手写的),大多数Babel插件都有两种模式 normal mode 和 loose mode,normal mode 转换而来的 ES5 代码更加符合 ECMAScript 6 的语义,而…

最美的太阳。 1天以前 浏览 791 评论 0 收藏 0

markdown-it 插件如何写(二)

Parse markdown-it 的渲染过程分为两部分,Parse 和 Render,如果我们要实现新的 markdown 语法,举个例子,比如我们希望解析 @ header 为 <h1>header</h1>,就可以从 Parse 过程入手。 在 markdown-it 的官方文档里可以找到自定义 parse 规则的方式,那就是通过 Ruler 类: var md = …

一个人的旅程 1天以前 浏览 915 评论 0 收藏 0

简介

分享一些关于设计、编程、教程类的文章。

更多

推荐作者

时光倒影

文章 0 评论

qq_YyjhCs

文章 0 评论

三人与歌

文章 0 评论

┼──瘾||

文章 1 评论