NOTE0 在以下两种基本情况下,线程之间需要相互通信: 需要让多个线程同时访问一个共享资源,同时不能破坏资源的完整性; 一个线程需要通知其它线程某项任务已经完成 1.原子访问:Interlocked系列函数 http://hi.baidu.com/microsoftxiao/blog/item/a ...
箭头函数适合于无复杂逻辑或者无副作用的纯函数场景下,例如:用在 map、reduce、filter 的回调函数定义中 箭头函数的亮点是简洁,但在有多层函数嵌套的情况下,箭头函数反而影响了函数的作用范围的识别度,这种情况不建议使用箭头函数 箭头函数要实现类似纯函数的效果,必须剔除外部状态。所以箭头函数 ...
分类:
其他好文 时间:
2018-02-10 14:03:40
阅读次数:
161
函数式编程就是一种抽象程度很高的编程范式,纯粹的函数式编程语言编写的函数没有变量,因此,任意一个函数,只要输入是确定的,输出就是确定的, 这种纯函数我们称之为没有副作用。而允许使用变量的程序设计语言,由于函数内部的变量状态不确定,同样的输入,可能得到不同的输出,因此,这种函数是有副作用的。 函数式编 ...
分类:
编程语言 时间:
2018-02-07 19:34:33
阅读次数:
193
带操作的赋值表达式为: a op= b 这里op代表一个运算符,这个表达式等价于: a = a op b 这里需要特别注意:在第一个表达式中,表达式a计算了一次,而在第二个表达式中,表达式a计算了两次。所以,只有在a没有副作用的情况下,这两个表达式才是等价的。 不等价的例子: arr[i++] *= ...
分类:
Web程序 时间:
2018-02-04 22:52:46
阅读次数:
202
0x00 何为函数式编程 网上已经有好多详细的接受了,我认为比较重要的有: 1. 函数是“第一等公民”,即函数和其它数据类型一样处于平等地位 1. 使用“表达式”(指一个单纯的运算过程,总是有返回值),而不是“语句”(执行操作,没有返回值) 1. 没有”副作用“,即不修改外部值 0x01 开始函数式 ...
分类:
Web程序 时间:
2018-02-03 15:52:21
阅读次数:
175
Streams api 对 Stream 的使用就是实现一个 filter map reduce 过程,产生一个最终结果,或者导致一个副作用(side effect)。 流的操作类型分为两种: Intermediate:一个流可以后面跟随零个或多个 intermediate 操作。其目的主要是打开流 ...
分类:
编程语言 时间:
2018-01-19 21:26:09
阅读次数:
544
JavaScript的对象 对象是JavaScript的一种数据类型。对象可以看成是属性的无序集合,每个属性都是一个键值对,属性名是字符串,因此可以把对象看成是从字符串到值的映射。这种数据结构在其他语言中称之为“散列(hash)”、“字典(dictionary)”、“关联数组(associative ...
分类:
编程语言 时间:
2018-01-14 22:41:16
阅读次数:
231
关于js怎么使用到文件中呢,就像前边学过的css一样,可以写在 标签行间、可以写成内嵌的形式、也可以写成外联的形式。这几种方式都有好处,但和css一样,无疑外联的形式是最好的(安全,无副作用)。 原因如下: 1. 标签行间 好处:不用获取元素,比较直观 坏处:不易阅读,不能复用,不易维护 2. 内嵌 ...
分类:
Web程序 时间:
2018-01-05 18:03:05
阅读次数:
239
第六章对象 对象可以看成其属性的无序集合,每个属性都是一个名/值对。JavaScript对象是动态的,可以新增也可以删除属性,可以通过引用而非值来操作对象。如果变量x是指向一个对象的引用,那么执行代码var y=x;变量y也会指向同一个对象的引用,而非这个对象的副本,所以通过变量y修改这个对象也会对 ...
分类:
编程语言 时间:
2017-12-28 16:10:50
阅读次数:
132
1. 什么是"阻塞"? 阻塞是SQL数据库应用"锁"机制的一个副作用。当一个应用请求针对某个数据库对象(例如全表,某行数据, 或者是某个数据页)加锁后,那么这个锁会阻塞其它的应用请求。这就好像你把家里的大门上了锁,你的老婆没有钥匙,只能等待你回家。她进入房间的请求被你阻塞了,不得不等待,直到你解锁开 ...
分类:
数据库 时间:
2017-12-25 20:59:17
阅读次数:
290