大约十年前,我听说了反 if 的活动,觉得这个概念非常荒谬。如果不用if语句,又怎么能写出有用的程序呢?这简直太荒谬了。
但之后你会开始思考:是否还记得上周你拼命想读懂的深度嵌套代码?糟透了对么?要是有办法能简化它该多好。
反 if 活动的网站上没给出多少实用性建议,因此在本文中,作者将会提供一系列模式,也许你会用得上。但首先我们来关注一下if语句到底造成了什么问题。

// Create an array.
var ar = ["ab", "cd", "ef", "ab", "cd"];
// 找到最后一个CD的位置
document.write(ar.lastIndexOf("cd") + "<br/>");
// 输出: 4
// 从正数第二个位置,搜索倒数第一个CD的位置
document.write(ar.lastIndexOf("cd", 2) + "<br/>");
// 输出: 1
// 从倒数第三个搜索最后一个ab的位置
document.write(ar.lastIndexOf("ab", -3) + "<br/>");
// 输出: 0在Jeff Atwood发表于2007年的这篇博客里,他提出了著名的“Atwood定律”,即”任何能够用JavaScript实现的应用系统,最终都必将用JavaScript实现。“ (Any application that can be written in JavaScript, will eventually be written in JavaScript.)那么,这位大牛为何如此推崇JavaScript呢?如何真正理解他提出的这个定律?这就必须完整地看懂他的博文才行。
OnceIO 是一个自身功能极简,完全由路由、中间件和Handler构成的 web 开发框架:一个 OnceIO 应用本质上就是在调用各种中间件和Handler。
中间件是一个函数,它可以访问请求对象(request object (req)), 响应对象(response object (res)),并将应用的请求-响应循环传向下一个中间件。
一个应用的请求-响应循环如下图所示,由请求对象、响应对象、中间件和 handler 构成
