以优美方式编写JavaScript代码.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
以优美方式编写JavaScript代码   英文原文:CoffeeScript: The beautiful way to write JavaScript   我用 JavaScript 编程很多年了,写了大量的 JavaScript 代码,即便是我这样的经历,但我仍然还在努力地去写出更优美的 JavaScript 代码,在这篇文章中,我将探索为什么写出漂亮的 JavaScript 代码是如此困难,如何使用CoffeScript(一种简约且能编译成 JavaScript 的语言)改善它。   什么是优美的代码?   我想从个人观点来声明如何定义优美代码   1、优美的代码是使用更少的代码解决问题;   2、优美的代码是可读而且易理解的;   3、优美的代码是一段既没有什么可以需要添加,也没有什么多余的可以去掉代码(就像伟大的的设计);   4、最短长度是优美代码的另外一个方面,并不是以此为作为目标或者权衡。   所以对我来说,优美的代码是最小代码化、可使用、易读的综合效应。   一段优美 JavaScript 代码的例子:   以斐波纳契函数举例来说,这个函数对绝大多数程序员来是应该知道的。这里有一个谈不上漂亮的实现,因为代码缺乏结构化,而且使用了很多没必要的冗长代码: function f(n) { var s= 0; if(n == 0) return(s); if(n == 1) { s += 1; return(s); } else { return(f(n - 1) + f(n - 2)); } }   这里是另外一个版本的实现,我发现了更多优雅和优美之处,尤其是如果你熟悉单行的if else的话(三目条件运算): function fib(n) { return n2 ? n : fib(n-1) + fib(n-2); }   同样优美的一段码,代码的行数并不见得那么重要: function fib(n) { if (n 2) return n; return fib(n-2) + fib(n-1); }   JavaScript 的毛病   我认为 JavaScript 的一个主要问题就是它那令人困惑的混杂多种不同语言的模式: JavaScript 是函数式语言 JavaScript 是面向对象的语言,但它是基于原型的 JavaScript 是动态的非常接近于 Lisp 而不是 C/Java , 但是有 C/Java 的语法 JavaScript 的名字就很让人疑惑,但是和 Java 没有半点关系   这种语言有特性危机,程序员尝试强加范式到 JavaScript 中,但这并不是什么好主意,因为 JavaScript 不是 Java,不是 Sheme,也不是 Python,就像其它语言一样有自己的强项和弱项。   同时,JavaScript 草率的设计和糟糕的决策表现在 this,像 this 的动态域、用于继承的语法,由于考虑到向后兼容的原因,修复这些问题非常困难。这里是一个很好的引用来自于 JavaScript 的创造者,亮点在 JavaScript 诞生的所处的环境:“JavaScript 听起来像Java,仅此而已,像是 Java 的哑巴小兄弟,但是我不得不在十天完成。(否则)或许比 JavaScript 更糟糕的事情会发生”—?Brendan Eich   CoffeeScript:全新的方式写出更好的 JavaScript   CoffeeScript 是一种精致的语言,能编译成 JavaScript。它的目的是用简单的方法揭示 JavaScript 优秀的部分。   CoffeeScript 不会终结你的 JavaScript 代码   我喜欢 CoffeeScript 的原因之一是它能编译成 JavaScript,这就意味着我可以重用我当前所有的 JavaScript 代码,我不需要重写任何代码到 CoffeeScript,这是一笔伟大的交易,尤其是因为我们的 Wedoist JavaScript 代码库非常庞大,要是重写成另一种语言够你花上数月的时间。CoffeeScript 同样是一种迷你型的 JavaScript,就像是被改善 JavaScript 版本,糟糕的部分被替换掉了。同时它的语法从 C/Java 语言换成了 Ruby 或者是 Python(棒极了,因为 JavaScript 更接近于Ruby、Python 而不是 C 或者 Java)。 ?   CoffeeScript 是怎么样编译成 JavaScript 的   为了阐述编译,我们举一例子,看它是怎么工作的。 CoffeeScript 代码: square = (x) - x

文档评论(0)

wenjiyop + 关注
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档