自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 资源 (1)
  • 收藏
  • 关注

原创 JavaScript 异步编程(3)Generator 与 Async

相比于传递回调函数的方式,Promise 处理异步调用最大的优势是通过链式调用解决回调嵌套的问题。ajax('/api/url1') .then(value => { return ajax('/api/url2') }) .then(value => { return ajax('/api/url3') }) .then(value => { return ajax('/api/url4') }) .catch(error =&g

2020-10-27 19:56:31 158

原创 JavaScript 异步编程(2)Promise

概念直接使用传统回调方式去完成复杂的异步流程,会造成大量的回调函数嵌套,这称为回调地狱。$.get('/ur1', function (data1) { $.get('/ur2', function (data2) { $.get('/ur3', function (data2) { // ... } }}CommonJS 社区提出了 Promise 的规范,在 ES2015 中被标准化,成为语言规范。Promise 是一种更优的异步编程统一方案。P

2020-10-27 19:55:06 138

原创 JavaScript 异步编程(1)单线程与事件循环

主流的 JavaScript 环境都是以单线程模式执行 JavaScript 代码。单线程:JavaScript 执行环境中负责执行代码的线程只有一个。采用单线程模式工作的原因和设计初衷有关,JavaScript 最初仅仅是浏览器端的脚本语言,目的是为了实现页面上的动态交互。页面交互的核心是 DOM 操作,这决定了 JavaScript 必须使用单线程模型,否则会出现线程同步问题。线程同步问题:若 JavaScript 同时有多个线程工作,某个线程修改了 DOM 元素,另外一个线程同时又

2020-10-27 19:53:25 230

原创 函数式编程范式(5)函子

函数式编程建立在数学基础之上,比如函数式编程的纯函数就是数学中的纯函数,我们要学习的函子也是建立在数学中的范畴论。为什么要学函子我们需要在函数式编程中把副作用控制在可控范围内、异常处理、异步操作等。什么是 Functor容器:包含值和值的变形关系(这个变形关系就是函数) 函子:是一个特殊的容器,通过一个普通的对象来实现,该对象具有 map 方法,map 方法可以运行一个函数对值进行处理(变形关系)Functor 函子// 一个容器,包裹一个值class Container {

2020-10-27 19:49:32 181

原创 函数式编程范式(3)纯函数与柯里化

纯函数函数式编程的核心:纯函数概念相同的输入永远会得到相同的输出,而且没有任何可观察的副作用。纯函数就类似数学中的函数(用来描述输入和输出之间的关系),y=f(x)后文将会介绍的 Lodash 是一个纯函数的功能库,提供了对数组、数字、对象、字符串、函数等操作的一些方法。数组的 slice 和 splice 分别是:纯函数和不纯的函数slice 返回数组中的指定部分,不会改变原数组 splice 对数组进行操作返回该数组,会改变原数组// 纯函数 slicelet arr

2020-10-27 19:47:42 195

原创 函数式编程范式(4)- 函数组合

函数组合纯函数和柯里化很容易写出洋葱代码 h(g(f(x)))如“获取数组的最后一个元素再转换成大写字母” _toUpper(_.first(_.reverse(array)))函数组合可以让我们把细粒度的函数重新组合生成一个新的函数管道我们可以将使用函数处理数据想象成一个管道。当 fn 函数比较复杂的时候,我们可以把 fn 函数拆分成多个小函数fn = compose(f1, f2, f3)b = fn(a)函数组合函数组合 (compose):如果一个函数

2020-10-27 19:45:28 313

原创 函数式编程范式(2)- 函数相关概念复习

函数相关复习为了学习函数式编程,我们先了解函数式编程相关的前置知识:函数是一等公民高阶函数闭包函数是一等公民函数在 JavaScript 语言中是一等公民,表现为:函数可以存储在变量中函数作为参数函数作为返回值在 JavaScript 中,函数就是一个普通的对象(可以通过 new Function()),我们可以把函数存储到变量/数组中,它还可以作为另一个函数的参数和返回值,甚至我们可以在程序运行的时候通过 new Function('alert(1)') 来构造一个新的函数。

2020-10-27 19:37:15 107

原创 函数式编程范式(1) - 认识函数式编程

为什么要学函数式编程函数式编程随着 React 的流行受到越来越多的关注Vue 3也开始拥抱函数式编程函数式编程可以抛弃 this打包过程中可以更好的利用 tree shaking 过滤无用代码方便测试、并行处理有很多库可以帮助我们进行函数式开发:lodash、underscore、ramda什么是函数式编程函数式编程(Functional Programming,FP),是一种编程范式。我们常听说的编程范式还有面向过程编程、面向对象编程。(编程范式:思想 + 实现的方式)面向对象编程

2020-10-27 19:34:56 188

PHP程序设计思维导图

原创整理 PHP程序设计的思维导图,对于学习 PHP 的新手有一定帮助。 内容包含: 第一章:PHP 概述 第二章:标记、注释 第三章:数据类型 第四章:常量和变量 第五章:运算符 第六章:表达式和函数 第七章:流程控制语句 第八章:字符串操作 第九章:正则表达式 第十章:数组

2019-02-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除