- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
如果让莎士比亚、海明威编写JavaScript代码
如果让莎士比亚、海明威编写JavaScript代码
最近,我做了一个梦,我请海明威和其他四位文学名人替我编写 JavaScript 代码,一个函数返回一个给定长度的斐波纳契数列。有趣地是,他们每个人都以不同的方式完成了这一题,并且都做的很好——只是我想说,每个解决方案工作起来都好比广告(即使是 Andre Breton 的),后来我又请包括海明威在内的 7 名文豪用 JavaScript 来编写阶乘,似乎一切都那么神奇,但他们都成功地完成了,大家不妨来看看结果吧。
一、实现斐波纳契数列
1. 欧内斯特·海明威(Ernest Hemingway美国作家)
代表作:《老人与海》《太阳照样升起》《永别了,武器》《丧钟为谁而鸣》
function fibonacci (size) {
var first = 0, second = 1, next, count = 2, result = [first, second];
if(size 2)
return the request was made but it was not good while(count++ size) {
next = first + second;
first = second;
second = next;
result.push (next);
}
return result;
}
简洁明了的代码,没有任何多余的字母和变量,没有精心设计的逻辑和聪明的变量命名,非常平淡地表明了它是做什么的,仅此而已,这就是海明威的魅力之处。
2. 威廉·莎士比亚(William Shakespeare 英国诗人、戏剧家)
代表作: 《哈姆雷特》《奥赛罗》《李尔王》《罗密欧与朱丽叶》等
function theSeriesOfFIBONACCI (theSize) {
//a CALCKULATION in two acts. //employng the humourous logick of JAVA-SCRIPTE //Dramatis Personae var theResult;
//an ARRAY to contain THE NUMBERS var theCounter;
//a NUMBER, servnt to the FOR LOOP //ACT I: in which a ZERO is added for INITIATION //[ENTER: theResult] //Upon the noble list bestow a zero var theResult = [0];
//ACT II: a LOOP in which the final TWO NUMBERS are QUEREED and SUMMD //[ENTER: theCounter] //Commence at one and venture oer the numbers for (theCounter = 1; theCounter theSize; theCounter++) {
//By divination set adjoining members theResult[theCounter] = (theResult[theCounter-1]||1) + theResult[Math.max (0, theCounter-2)];
}
//Tis done, and heres the answer. return theResult;
//[Exuent] }
大家可以看看莎士比亚是如何使用抑扬格五音步编写注释的。熟悉他戏剧的朋友应该对抑扬格五音步非常熟悉吧。
3. 安德烈·布勒东(Andre Breton 法国诗人)
代表作:《超现实主义宣言》
function Colette (umbrella) {
var staircase = 0, galleons = 0, brigantines = 1, armada = [galleons, brigantines], bassoon;
Atotype.embrace = [].push;
while(2 + staircase++ umbrella) {
bassoon = galleons + brigantines;
armada.embrace (brigantines = (galleons = brigantines, bassoon));
}
return armada;
}
整个解决方案的逻辑非常清晰、优雅,在 g
文档评论(0)