/**
* 农场一头小母牛
* 每年生头小母牛
* 母牛五岁产母牛
* 二十年上多少牛
*/

划分程序,母牛只管自己的年龄能不能产牛仔,母牛是model同时也是工厂

农场只管养牛,收获新牛。

一年一个循环,农场养牛,牛产子

/**
* [Decode error - output not utf-8]
农场有71只小母牛
母牛0,20岁
母牛1,14岁
母牛2,13岁
母牛3,12岁
母牛4,11岁
母牛5,10岁
母牛6,9岁
母牛7,8岁
母牛8,8岁
母牛9,7岁
母牛10,7岁
母牛11,7岁
母牛12,6岁
母牛13,6岁
母牛14,6岁
母牛15,6岁
母牛16,5岁
母牛17,5岁
母牛18,5岁
母牛19,5岁
母牛20,5岁
母牛21,4岁
母牛22,4岁
母牛23,4岁
母牛24,4岁
母牛25,4岁
母牛26,4岁
母牛27,3岁
母牛28,3岁
母牛29,3岁
母牛30,3岁
母牛31,3岁
母牛32,3岁
母牛33,3岁
母牛34,2岁
母牛35,2岁
母牛36,2岁
母牛37,2岁
母牛38,2岁
母牛39,2岁
母牛40,2岁
母牛41,2岁
母牛42,2岁
母牛43,1岁
母牛44,1岁
母牛45,1岁
母牛46,1岁
母牛47,1岁
母牛48,1岁
母牛49,1岁
母牛50,1岁
母牛51,1岁
母牛52,1岁
母牛53,1岁
母牛54,1岁
母牛55,0岁
母牛56,0岁
母牛57,0岁
母牛58,0岁
母牛59,0岁
母牛60,0岁
母牛61,0岁
母牛62,0岁
母牛63,0岁
母牛64,0岁
母牛65,0岁
母牛66,0岁
母牛67,0岁
母牛68,0岁
母牛69,0岁
母牛70,0岁
[Finished in 0.9s]
*/
/**
* 农场一头小母牛
* 每年生头小母牛
* 母牛五岁产母牛
* 二十年上多少牛
*/ //////////////////////////////////////////////////////////////
/// 母牛
var Boosy = function() {
var self = this;
self.age = 0;
};
Boosy.prototype = {};
Boosy.prototype.constructor = Boosy; Boosy.prototype.live = function() {
var self = this;
self.age++;
}; Boosy.prototype.birthBaby = function() {
var self = this;
if (self.age >= 5) {
return new Boosy();
};
return null;
}; //////////////////////////////////////////////////////////////
/// 农场
var Farm = function() {
var self = this;
self.boosies = [];
};
Farm.prototype = {};
Farm.prototype.constructor = Farm; Farm.prototype.add = function(boosy) {
var self = this;
self.boosies.push(boosy);
}; Farm.prototype.runBussiness = function() {
var self = this;
var pool = [];
self.boosies.forEach( function(element, index) {
var boosyBaby = element.birthBaby();
if(boosyBaby){
pool.push(boosyBaby);
};
element.live();
}); pool.forEach( function(element, index) {
self.boosies.push(element);
});
pool = [];
}; Farm.prototype.count = function() {
var self = this;
console.log("农场有"+self.boosies.length+"只小母牛");
self.boosies.forEach( function(element, index) {
console.log('母牛'+index+","+element.age+"岁");
});
}; //////////////////////////////////////////////////////////////
// 测试 var farm = new Farm();
farm.add(new Boosy()); for (var i = 0; i <; i++) {
farm.runBussiness();
}; farm.count(); /**
* [Decode error - output not utf-8]
农场有71只小母牛
母牛0,20岁
母牛1,14岁
母牛2,13岁
母牛3,12岁
母牛4,11岁
母牛5,10岁
母牛6,9岁
母牛7,8岁
母牛8,8岁
母牛9,7岁
母牛10,7岁
母牛11,7岁
母牛12,6岁
母牛13,6岁
母牛14,6岁
母牛15,6岁
母牛16,5岁
母牛17,5岁
母牛18,5岁
母牛19,5岁
母牛20,5岁
母牛21,4岁
母牛22,4岁
母牛23,4岁
母牛24,4岁
母牛25,4岁
母牛26,4岁
母牛27,3岁
母牛28,3岁
母牛29,3岁
母牛30,3岁
母牛31,3岁
母牛32,3岁
母牛33,3岁
母牛34,2岁
母牛35,2岁
母牛36,2岁
母牛37,2岁
母牛38,2岁
母牛39,2岁
母牛40,2岁
母牛41,2岁
母牛42,2岁
母牛43,1岁
母牛44,1岁
母牛45,1岁
母牛46,1岁
母牛47,1岁
母牛48,1岁
母牛49,1岁
母牛50,1岁
母牛51,1岁
母牛52,1岁
母牛53,1岁
母牛54,1岁
母牛55,0岁
母牛56,0岁
母牛57,0岁
母牛58,0岁
母牛59,0岁
母牛60,0岁
母牛61,0岁
母牛62,0岁
母牛63,0岁
母牛64,0岁
母牛65,0岁
母牛66,0岁
母牛67,0岁
母牛68,0岁
母牛69,0岁
母牛70,0岁
[Finished in 0.9s]
*/

javascript 写农场迭代的更多相关文章

  1. 调整JavaScript抽象的迭代方案

    原文链接:Adapting JavaScript Abstractions Over Time 译者:小溪里 校对者:郭华翔.苗冬青 即使还没有读过我的文章<在处理网络数据的 JavaScrip ...

  2. 用javascript 写个函数返回一个页面里共使用了多少种HTML 标签

    今天我无意间看到一个面试题: 如何用javascript 写个函数返回一个页面里共使用了多少种HTML 标签? 不知你看到 是否蒙B了,如果是我 面试,肯定脑子嗡嗡的响.... 网上搜了搜也没有找到答 ...

  3. JavaScript写在Html页面的<head></head>中

    JavaScript写在Html页面的<head></head>中 ----------------- <html> <head> <style ...

  4. JavaScript写一个连连看的游戏

    天天看到别人玩连连看, 表示没有认真玩过, 不就把两个一样的图片连接在一起么, 我自己写一个都可以呢. 使用Javascript写了一个, 托管到github, 在线DEMO地址查看:打开 最终的效果 ...

  5. javascript写在<head>和<body>里的区别

    Javascript写在哪里?概括起来就是三种形式:1. 内部:Html网页的<body></body>中:2. 内部:Html网页的<head></head ...

  6. 原生javascript写的侧栏跟随效果

    浏览网站时经常看到有的网站上,当一个页面很长的时候,设定侧栏内容会跟随滚动条滚动,我们把这种效果叫做“侧栏跟随滚动”.这种特效对提高网站浏览量.文章点击率.广告点击量都有一定效果. 侧栏跟随滚动的实现 ...

  7. javascript 写一段代码,判断一个字符串中出现次数最多的字符串,并统计出现的次数

    javascript 写一段代码,判断一个字符串中出现次数最多的字符串,并统计出现的次数 function test(){ var bt = document.getElementById(" ...

  8. 用JavaScript写一个区块链

    几乎每个人都听说过像比特币和以太币这样的加密货币,但是只有极少数人懂得隐藏在它们背后的技术.在这篇博客中,我将会用JavaScript来创建一个简单的区块链来演示它们的内部究竟是如何工作的.我将会称之 ...

  9. 怎么分别javascript写在<head>里还是<body>里面?

    怎么分别javascript写在<head>里还是<body>里面? 具体哪些语句写在<body>里,哪些语句写在<head>里 满意答案 BeginN ...

随机推荐

  1. bzoj1095: [ZJOI2007]Hide 捉迷藏 线段树维护括号序列 点分治 链分治

    这题真是十分难写啊 不管是点分治还是括号序列都有一堆细节.. 点分治:时空复杂度$O(n\log^2n)$,常数巨大 主要就是3个堆的初始状态 C堆:每个节点一个,为子树中的点到它父亲的距离的堆. B ...

  2. PowerShell随笔2_分支 选择 循环 特殊变量

    PowerShell特殊变量: PowerShell的特殊变量由系统自动创建.用户自定义的变量名称应该不和特殊变量相同. $^ :前一命令行的第一个标记 $$ :前一命令行的最后一个标记 $_ :表示 ...

  3. ASM集群文件系统ACFS(ASM Cluster File System)

    在11g R2中ASM文件支持包括数据文件,控制文件,归档日志文件,spfile,RMAN备份文件,Change Tracking文件,数据泵Dump文件盒OCR文件等.而推出的ACFS和Oracle ...

  4. TransactionScope

    最近发现微软自带的TransactionScope(.Net Framework 2之后)是个好东东,提供的功能也很强大. 首先说说TransactionScope是什么,并能为我们做什么事情.其实看 ...

  5. (step6.3.4)hdu 1151(Air Raid——最小路径覆盖)

    题意:     一个镇里所有的路都是单向路且不会组成回路. 派一些伞兵去那个镇里,要到达所有的路口,有一些或者没有伞兵可以不去那些路口,只要其他人能完成这个任务.每个在一个路口着陆了的伞兵可以沿着街去 ...

  6. android110 jni01

    ##交叉编译(编译就是编译成汇编指令,使得电脑能够识别,比如windows平台模拟linux平台编译出来得程序可以在linux上运行.) * 在一个平台下,编译出另一个平台能够执行的二进制的代码 * ...

  7. Java基础知识强化之IO流笔记42:IO流总结(图解)

    1. IO流总结(图解)

  8. Demo1_iOS9网络适配_改用更安全的HTTPS

    iOS9把所有的http请求都改为https了:iOS9系统发送的网络请求将统一 使用TLS 1.2 SSL.采用TLS 1.2 协议,目的是 强制增强数据访问安全,而且 系统 Foundation ...

  9. C语言实现电话本 动态开辟 信息存储于文件

    下面是我用C写的一个电话本小项目,实现的功能有:添加 删除 修改 查找 排序 清空 显示,功能还是比较全的,内存也是动态开辟的.能存储于本地,能从本地读出并显示 头文件部分代码,contact.h: ...

  10. Android XML解析

    解析XML有三种方式:Dom.SAX.Pull 其中pull解析器运行方式与SAX类似. 我们首先认识pull解析器:http://developer.android.com/intl/zh-cn/r ...