文章博客

技术团队文档示例


6 . 示例应用

<h4>声明示函数</h4> <p>我们要开始转变观念了,从本章开始,我们将不再指示计算机如何工作,而是指出我们明确希望得到的结果。我敢保证,这种做法与那种需要时刻关心所有细节的命令式编程相比,会让你轻松许多。 与命令式不同,声明式意味着我们要写表达式,而不是一步一步的指示。</p> <p>以 SQL 为例,它就没有“先做这个,再做那个”的命令,有的只是一个指明我们想要从数据库取什么数据的表达式。至于如何取数据则是由它自己决定的。以后数据库升级也好,SQL 引擎优化也好,根本不需要更改查询语句。这是因为,有多种方式解析一个表达式并得到相同的结果。</p> <pre><code class="language-javascript">// 命令式 var makes = []; for (i = 0; i &lt; cars.length; i++) { makes.push(cars[i].make); } // 声明式 var makes = cars.map(function(car){ return car.make; }); map它指明的是做什么,不是怎么做。因此,它是正儿八经的声明式代码</code></pre> <p>var law = compose(map(f), map(g)) == map(compose(f, g));</p> <pre><code class="language-javascript">var compose = function(f,g) { return function(x) { return f(g(x)); }; }; //验证(是judy就正常登录) - 登录 function toUser(x){ if(x === "judy"){ return true ; }else{ return false ; } } function login(x){ if(x){ return '正常登录' }else{ throw new Error('用户名或密码错误') } } var isLogin = compose(login,toUser) // console.log(isLogin('judy')) console.log(isLogin('judy1'))</code></pre>

页面列表

ITEM_HTML