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

划分程序,母牛只管自己的年龄能不能产牛仔,母牛是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. 在.net Core 中像以前那样的使用HttpContext.Current

    今晚在学习.net Core 的使用 拿来以前项目进行改造最简单的问题就是怎么做到让httpcontext 和以前兼容 ,折腾的很久 终于搞定,纪录一下 .net core中使用了无处不在的注入,看了 ...

  2. String.Format使用方法

    1.作为參数   名称 说明   Format(String, Object) 将指定的 String 中的格式项替换为指定的 Object 实例的值的文本等效项.   Format(String, ...

  3. 【Unicode】字符编码表信息

    UTF-8有点类似于Haffman编码,它将Unicode编码为:0x00-0x7F的字符,用单个字节来表示:0x80-0x7FF的字符用两个字节表示:0x800-0xFFFF的字符用3字节表示:   ...

  4. Java基础知识强化之集合框架笔记69:Collections类之ArrayList存储自自定义对象并排序的案例

    1. ArrayList存储自自定义对象并排序的案例: ArrayList存储自自定义对象,并使用Collections对ArrayList存储基本包装类的元素排序. 2. 代码实现: (1)Stud ...

  5. Android(java)学习笔记141:各种边距设置

    1. android:layout_paddingLeft 内边距,对谁用,指的是谁的内部内容边距 2. android:layout_marginLeft 外边距,对谁用,指的是谁距离外层容器的边距 ...

  6. JSP 笔记

    <%@ page contentType="text/html;charset=UTF-8"%> <!-- 字符编码为utf-8,不然会乱码.... --> ...

  7. <!--[if lt IE]>

    代码如下时 <!--[if lt IE9]> <script src="js/html5shiv.js"></script> <![end ...

  8. R-大数据分析挖掘(3-R作图)

    R语言绘图功能: 提供实例: demo(graphics)

  9. MFC 设置窗口背景图片

    //在Onpaint函数中加入如下代码 //----------给窗口设置背景图片---------------------------- CPaintDC dc(this); CRect myrec ...

  10. Oracle SQL 基础学习

    oracel sql 基础学习 CREATE TABLE USERINFO ( ID ,) PRIMARY KEY, USERNAME ), USERPWD ), EMAIL ), REDATE DA ...