【读书笔记】JS函数式编程指南】的更多相关文章

title: Java并发编程的艺术读书笔记(2)-并发编程模型 date: 2017-05-05 23:37:20 tags: ['多线程','并发'] categories: 读书笔记 --- 1.并发编程模型的两个关键问题 1.1线程之间如何通信. 通信是指线程之间以何种机制来交换信息.有两种:共享内存和消息传递.在共享内存的并发模型里,线程之间共享程序的公共状态,通过读写内存中的公共状态进行隐式通信.在消息传递的并发模型里,线程之间没有公共状态,线程之间必须通过发送消息来显示进行通信.j…
title: Java并发编程的艺术读书笔记(1)-并发编程的挑战 date: 2017-05-03 23:28:45 tags: ['多线程','并发'] categories: 读书笔记 --- 1.多线程不一定就比单线程快,因为线程有创建和上下文切换的开销. 1.1vmstat测试上下文切换次数,Lmbench3测时长 1.2如何减少上下文切换 1.2.1无锁并发编程:多线程竞争锁时,会引起上下文切换,所以多线程处理数据时,可以用一些办法来避免使用锁,如将数据的ID取模分段,不同的线程处理…
前言 最近看了一本书<Android Gradle 权威指南>,收获挺多,就想着来记录一些读书笔记,方便后续查阅. 本篇内容是基于上一篇:读书笔记--Android Gradle权威指南(上) 上一篇中我们讲了: Groovy 基础 Android 项目中的 Gradle 2.1 gradle/wrapper 目录 2.2 gradlew.bat 文件 2.3 setting.gradle 文件 2.4 build.gradle 文 Gradle 基础 3.1 task 概念 3.2 grad…
<Essential C++>读书笔记 之 C++编程基础 2014-07-03 1.1 如何撰写C++程序 头文件 命名空间 1.2 对象的定义与初始化 1.3 撰写表达式 运算符的优先级(precedence) 1.5 如何运用Arrays(数组)和Vectors(向量) 1.6 指针带来弹性 指针的使用 1.1 如何撰写C++程序 返回 函数(function)是一块独立的程序代码序列(code sequence),能够执行一些运算.它包含4个部分: 返回值型别(return type)…
读书笔记 - js高级程序设计 - 第十三章 事件   canvas 具备绘图能力的2D上下文 及文本API 很多浏览器对WebGL的3D上下文支持还不够好   有时候即使浏览器支持,操作系统如果缺缺乏必要的绘图驱动程序,则浏览器即使支持了也没用   <canvas> var drawing = document.getElementById("drawing"); if( drawing.getContext ){     drawing.getContext("…
1.函数闭包 1.1 概述 JavaScript采用词法作用域,函数的执行依赖于变量作用域,这个作用域是在函数定义时决定的,而不是函数调用时决定的. 为了实现这种词法作用域,JavaScript函数对象的内部状态不仅包含函数的代码逻辑,还必须引用当前的作用域链. 函数对象可以通过作用域链相互关联起来,函数体内部的变量都可以保存在函数作用域内,这种特性被称为"闭包" 从技术的角度讲,所有的JavaScript函数都是闭包:它们都是对象,它们都关联到作用域链 1.2 嵌套函数 先看下面的代…
我将写的第一个主题是js的函数式编程,这一系列都是mostly adequate guide这本书的读书总结.原书在gitbook上,有中文版.由于原作者性格活泼,书中夹杂很多俚语,并且行文洒脱.中文译版难免有时需要思量一番,既然读了就写出来,能方便别人最好,也请读者指正.正文如下. 如果一个函数是纯函数,那么其不依赖外部环境,并且不产生副作用. 1.不依赖外部环境,反例如下: const a1 = 10; const aFunc1 = () => { // 依赖外部变量 return a1;…
最近在看Typescript,顺便看了一些函数式编程,然后半个国庆假期就没有了.做个笔记,分几个部分写吧. 最开始接触函数式编程的时候,第一个接触的概念就是高阶函数,和柯里化.咋一看,这不就是长期用来讲作用域的demo吗?我在日常也有用啊,有啥吗? 其实呢,设计模式或则编程范式往往不在于技巧,而在于思想.函数式编程就是一种编程的范式,并不在于技巧多么叼,而在于它的思想.其次才是由设计思想才衍生出来的技巧,技巧往往而言是服务于思想的.所以我觉得最开始学习函数式编程最好先了解一些相关概念和思想会比较…
面向过程编程,面向对象编程和函数式编程> 定义一个类方法1:function Anim(){ } Anim.prototype.start = function(){ .. };Anim.prototype.stop = function(){ .. }; 或者方法2:function Anim(){ .. }Anim.prototype = { start: function(){.. }, stop: function(){ .. }, constructor: Anim} 或者方法3://…
参考文档1 参考文档2 函数式编程术语 高阶函数 Higher-Order Functions 以函数为参数的函数 返回一个函数的函数 函数的元 Arity 比如,一个带有两个参数的函数被称为二元函数 惰性求值 Lazy evaluation 是一种按需求值机制,它会延迟对表达式的求值,直到其需要为止 // 设置一个随机数,需要时,才会计算,每次计算都是一个不同的值 const rand = function*() { while (1 < 2) { yield Math.random() }…