本规范是针对javascript函数式编程风格与公司严重依赖于jQuery进行编码的现实制定出来。禁止使用eval,with与caller(ecma262 v5 的use strict要求)。eval只允许在加密时机器生成。声明变量必须加上 var 关键字,除了在for(;;)循环等语句中,原则上不...
分类:
编程语言 时间:
2014-10-24 09:15:27
阅读次数:
213
前言: 程序设计语言主要分为两种 1、基于存储原理(冯*诺依曼体系)的命令式编程语言,如C/C++、Java、Object Pascal(DELPHI)。 2、根据阿隆左*丘琦的lambda演算而产生的函数式编程语言,如Lisp、Scheme。 ...
分类:
编程语言 时间:
2014-10-23 15:40:58
阅读次数:
280
遍历一个字符串
在Java 8中,CharSequence接口新添加了一个方法叫做chars(),方法的签名是这个样子的:
public default IntStream chars()
default关键字修饰的接口方法是Java 8中新添加的特性,目的是向接口中添加已经实现的方法。chars()方法返回了一个IntStream类型,所以chars()实际上是为所有实现...
分类:
编程语言 时间:
2014-10-23 09:28:02
阅读次数:
797
说说我自己的背景吧,我是个半吊子的程序员,做任何事情喜欢比较了解然后再尝试,我接触过很多语言,大多数都把它当成工具来使用我现在的工作大部分主要在于数据挖掘与机器学习方面,也学习web开发,我第一个拿来工作的语言是python,我是从那里得知函数式编程的概念的说起lisp据说python就是模仿的li...
分类:
编程语言 时间:
2014-10-22 23:35:37
阅读次数:
222
Lambda在集合中的使用
列表的遍历
提起对于集合的遍历,恐怕下面的这种方式已经是一种思维定式了吧:
final ListString> friends = Arrays.asList("Brian", "Nate", "Neal", "Raju", "Sara", "Scott");
for(int i = 0; i friends.size(); i++) {
...
分类:
编程语言 时间:
2014-10-21 10:24:46
阅读次数:
405
列表解析来自函数式编程语言haskell。它是一个非常有用、简单而且灵活的工具,可以用来动态地创建列表。 [expr for iter_var in iterable] 语句最核心的是for循环,它迭代iterable对象的所有条目。前面的expr用于...
分类:
编程语言 时间:
2014-10-17 17:04:27
阅读次数:
341
思维方式的转变
以从一个城市集合中寻找是否存在Chicago为例:
习惯的方式
boolean found = false;
for(String city : cities) {
if(city.equals("Chicago")) {
found = true;
break;
}
}
System.out.println("Fo...
分类:
编程语言 时间:
2014-10-17 15:39:38
阅读次数:
252
当今 JavaScript 大行其道,各种应用对其依赖日深。web 程序员已逐渐习惯使用各种优秀的 JavaScript 框架快速开发 Web 应用,从而忽略了对原生 JavaScript 的学习和深入理解。所以,经常出现的情况是,很多做了多年 JS 开发的程序员对闭包、函数式编程、原型总是说不清道...
分类:
编程语言 时间:
2014-10-14 17:12:58
阅读次数:
258
闭包是函数式编程的概念闭包的定义:由函数极其封闭的自由变量组成的集合体。其实每一个函数都是一个闭包特点:函数中嵌套函数。在返回的时候不仅返回函数本身,而且返回内部函数的值,关键词‘释放’闭包的用途1.嵌套回调函数2.隐藏对象细节JS中有对象,但是没有实例,JS中对象是对象,实例是实例,分开的,给予原...
分类:
其他好文 时间:
2014-10-12 23:22:18
阅读次数:
191
很多人把装饰器搞的很复杂,其实本质很简单.
首先,什么是装饰器呢?在代码中发现戴着@xxx帽子的,就是装饰器.
那要怎么自己定义一个装饰器呢?
其实任何一个接收一个参数的callable都可以用来做装饰器,比如函数和类.为方便起见,下面的例子都用函数来说明.
def deco(func):return 1
这里,deco就可以做装饰器.
@deco
def f(args):pass
...
分类:
编程语言 时间:
2014-10-11 20:05:36
阅读次数:
240