
javascript
文章平均质量分 88
[Object object]
这个作者很懒,什么都没留下…
展开
-
关于 let 避免闭包带来的问题
今天晚上做了一下阿里校园招聘在线模拟笔试,有一道编程题是下面这样的 利用面向对象思想完成买家信息删除功能,每一条信息包含: 姓名 电话 电话号码 省份 实现以下要求: 不能借用任何第三方库,需要使用原生代码实现。 结合给出的基本代码结构,在下方2处code here补充代码,完成买家信息的删除功能,注意此页面要在手机上清晰显示。 ...原创 2018-05-07 20:14:07 · 1719 阅读 · 0 评论 -
函数式编程之闭包与高阶函数
4. 闭包与高阶函数前两天去面试了,所以没时间看书,准备把剩下的几家面完就提前结束秋招了,面试太累了。话不多说,我们开始今天的函数式编程的学习。前两天我们了解了高阶函数如何抽象通用的问题,我们创建了一个 sortBy 高阶函数并展示了一个有效的相关用例。在继续函数式编程之前,闭包是我们需要理解的概念。这也是我们今天要讨论的主要问题,我们将详细闭包并应用它编写高阶函数。让我们开始吧。...转载 2018-09-14 20:52:59 · 1021 阅读 · 0 评论 -
函数式编程之函子
8. 函子昨天我们学习了组合与管道,在学习新的知识之前我们需要复习一下几个重要的函数,比如 curry,partial,compose,pipe。现在还能写出来吗?学习一个东西除了为了知道它的思想,也要知道是怎么实现的。毕竟思想只是脑子里的东西,只有真正能实现才真正有用。所以还是希望大家复习一下之前比较重要的函数。话不多说,我们开始今天的学习。今天我们要学习的是函数式编程中一个重要的概念——错...转载 2018-09-19 16:46:35 · 2958 阅读 · 0 评论 -
函数式编程总结
函数式编程总结函数式编程入门已经看完了,来总结一下吧。学了大概半个多月了,觉得学到了很多东西,想应用到实际中去,于是面试的时候问了一下面试官函数式编程在实际开发中的应用场景。面试官说函数式编程是个好东西,但是实际应用的场景不多。而且用函数式编程写出来的东西没接触过的人可能看不懂,需要通读代码。不过多了解总是好的。还是有点失望的。但是总是有机会用到的,就算只是比别人多了解一点也是好的。以下代码复杂...原创 2018-09-23 21:13:47 · 772 阅读 · 2 评论 -
函数式编程之组合与管道
7. 组合与管道昨天我们学习了柯里化与偏函数,当然不能学完就完了,一些经典的函数什么的还是需要记一下的,比如今天重写新写一下看看能不能写出来,也能加深自己对这方面的理解。今天我们将要学习的是函数式组合的含义及其实际应用。Q函数式组合在函数式编程中被称为组合,我们将通过了解组合的概念并学习大量例子,然后创建自己的 compose 函数。理解 compose 函数底层的运行机制是一项有趣的任务...转载 2018-09-18 18:42:55 · 1274 阅读 · 1 评论 -
函数式编程之 Javascript 基础及环境配置
2. Javascript 基础及环境配置通过上一章我们知道了软件世界的函数就是数学函数,也知道了纯函数的优势,可缓存,并发代码等,这一章将学习如何在 JavaScript 使用函数,并且使用 ES6 的语法,以便掌握 ES6 函数的要领。但是生产环境中用的一般还是 ES5 的代码,那么这时候就到了 babel 登场的时候了。babel 能够将 ES6 语法写的代码转换成 ES5 的版本,...转载 2018-09-10 18:58:13 · 352 阅读 · 0 评论 -
函数式编程之柯里化与偏应用
6. 柯里化与偏应用在本章中,我们将了解术语柯里化的含义,在了解了柯里化所做的事情及用途之后,我们将介绍另一个在函数式编程中称为偏应用的概念。我们将研究一个简单的问题,并说明柯里化与偏应用这类函数式技术的运行机制6.1 一些术语先来了解一些术语一元函数:只接受一个参数的函数称为一元函数二元函数:接受两个参数的函数称为二元函数变参函数:变参函数是接受可变数量参数的函数,...转载 2018-09-17 16:19:33 · 1367 阅读 · 0 评论 -
函数式编程之数组的函数式编程
5. 数组的函数式编程在本章中,我们将创建一组用于数组的函数,并用函数式的方法而非命令式的方法来解决常见的问题5.1 数组的函数式方法本节将创建一组有用的函数,并用它们解决数组的常见问题 本节所创建的所有函数称为投影函数,把函数应用于一个值并创建一个新值的过程称为投影。讲个通俗的例子,forEach 没有返回值,所以就不是投影函数,map 有返回值,所以是投影函数...转载 2018-09-16 16:37:20 · 849 阅读 · 0 评论 -
函数式编程简介
最近在看函数式编程入门经典,自己总结一下,感兴趣的可以看一下函数式编程1. 简介1.1 什么是函数式编程函数式编程主要是基于数学函数和它的思想那么我们先复习一下数学中的函数即y = f(x)即函数 f(x) 以 x 为参数,以 y 为结果,x 和 y 可以是任意的数字,这其中包含了几个关键点函数必须总是接收一个参数函数必须总是返回一个值函数应该根据...转载 2018-09-09 17:19:41 · 426 阅读 · 0 评论 -
函数式编程之高阶函数
3. 高阶函数昨天我们把 Node 的环境配置好了,还创建了第一个名为 forEach 的函数式编程 API,并且这个函数接收一个函数。允许以函数代替数据传输是非常强大的概念,这种接收函数作为其参数的函数称为高阶函数(Higher-Order-Function),简称 HOC,今天我们将继续创建几个简单的 HOC 添加到类库中。让我们开始吧3.1 理解数据每种编程语言都有数据类型,...转载 2018-09-11 21:28:20 · 1478 阅读 · 0 评论 -
浅析 Promise
前言刚开始的时候自己对 Promise 的了解不是太深,看到 Promise 就头疼,然后看阮一峰老师的 ES6 标准入门的时候根本看不下去,应该是自己之前的水平太差了,不过最近在看的时候发现基本都能理解了,所以尽可能以一个小白的观点整理一下,希望能帮助更多人理解,这篇文章适合对 Promise 了解的不多,但是想了解的人。如果能耐心读下去的话肯定会对你了解 Promise 有所帮助。...原创 2018-08-29 16:36:13 · 488 阅读 · 0 评论 -
js 多维数组
1 一个问题引发的思考2 总结1 一个问题引发的思考今天早上复习回溯算法,定义标记数组时觉得以前定义多维数组的方法太繁琐了,想了一种简单的方式,结果发现这种方式有问题,于是就整理了一下js 本身没有多维数组,可以通过下面这种方式定义多维数组// 定义一个三行四列的数组// 首先定义一个包含三个元素的数组let array = new Array(3);...原创 2018-08-21 15:22:31 · 13364 阅读 · 0 评论 -
深拷贝和浅拷贝
1 引言2 什么是深拷贝和浅拷贝3 如何实现浅拷贝3.1 Object.assign()3.2 自定义函数4 如何实现深拷贝4.1 转成 JSON 再转回来4.2 自定义函数5 总结1 引言看下面这个问题function changeStuff(a, b, c){ a = a * 10; b.item = "changed...原创 2018-08-19 16:28:52 · 413 阅读 · 0 评论 -
事件循环及 microtask
在理解事件循环的图中看到了很多人都翻译了一篇文章,于是我也尝试着翻译一下,顺便加深自己的理解文章翻译自 https://jakearchibald.com/2015/tasks-microtasks-queues-and-schedules/ 翻译功底不高,所以可能读起来不是那么顺畅,有能力的可以自己阅读一下原版的文章,文章不难读,也可以结合其他人的翻译读。正文当我告诉我的同事 M...翻译 2018-08-06 10:52:17 · 387 阅读 · 0 评论 -
执行环境,变量对象及作用域链
1 概念2 执行环境3 变量对象4 作用域链5 总结1 概念首先来看一下 javascript 高级程序设计中的概念 执行环境:执行环境定义了变量或函数有权访问的其他数据,决定了他们各自的行为。每个执行环境都有一个与之关联的变量对象,执行环境中定义的所有变量和函数都保存在这个对象中。 作用域链:当代码在一个环境中执行时,会创建变量对象的一...原创 2018-08-16 10:52:19 · 927 阅读 · 1 评论 -
浅析 Javascript 中 this 的指向 ( 箭头函数 )
1. 关于 this2. this 全面解析2.1 调用位置2.2 绑定规则2.2.1 默认绑定2.2.2 隐式绑定2.2.3 显式绑定2.2.4 new 绑定2.3 优先级判断 this2.4 箭头函数3. 总结本文基于你不知道的 javascript 上卷和自己的理解1. 关于 this当一个函数被调用时,会创建一个活动记录...原创 2018-07-30 17:20:08 · 8572 阅读 · 5 评论 -
如何优雅的链式取值之 MayBe 函子
本文基于 如何优雅地链式取值可能有人之前看过我写的关于函数式编程的东西,也有人看过这一篇文章。由于我还是学生,开发经验相对较少,所以对于函数式编程如何应用存在一些疑惑。之前也问过面试官,说是实际开发中用的比较少,因为别人可能需要通读你的代码才能明白你写的东西。但是这篇文章就提供给了我一个很好的应用函数式编程的机会。从 如何优雅地链式取值 这篇文章的描述中,可以看出处理嵌套层级特别深的代码经...原创 2018-09-29 19:44:11 · 678 阅读 · 2 评论