javascript 写农场迭代
/**
* 农场一头小母牛
* 每年生头小母牛
* 母牛五岁产母牛
* 二十年上多少牛
*/
划分程序,母牛只管自己的年龄能不能产牛仔,母牛是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 写农场迭代的更多相关文章
- 调整JavaScript抽象的迭代方案
原文链接:Adapting JavaScript Abstractions Over Time 译者:小溪里 校对者:郭华翔.苗冬青 即使还没有读过我的文章<在处理网络数据的 JavaScrip ...
- 用javascript 写个函数返回一个页面里共使用了多少种HTML 标签
今天我无意间看到一个面试题: 如何用javascript 写个函数返回一个页面里共使用了多少种HTML 标签? 不知你看到 是否蒙B了,如果是我 面试,肯定脑子嗡嗡的响.... 网上搜了搜也没有找到答 ...
- JavaScript写在Html页面的<head></head>中
JavaScript写在Html页面的<head></head>中 ----------------- <html> <head> <style ...
- JavaScript写一个连连看的游戏
天天看到别人玩连连看, 表示没有认真玩过, 不就把两个一样的图片连接在一起么, 我自己写一个都可以呢. 使用Javascript写了一个, 托管到github, 在线DEMO地址查看:打开 最终的效果 ...
- javascript写在<head>和<body>里的区别
Javascript写在哪里?概括起来就是三种形式:1. 内部:Html网页的<body></body>中:2. 内部:Html网页的<head></head ...
- 原生javascript写的侧栏跟随效果
浏览网站时经常看到有的网站上,当一个页面很长的时候,设定侧栏内容会跟随滚动条滚动,我们把这种效果叫做“侧栏跟随滚动”.这种特效对提高网站浏览量.文章点击率.广告点击量都有一定效果. 侧栏跟随滚动的实现 ...
- javascript 写一段代码,判断一个字符串中出现次数最多的字符串,并统计出现的次数
javascript 写一段代码,判断一个字符串中出现次数最多的字符串,并统计出现的次数 function test(){ var bt = document.getElementById(" ...
- 用JavaScript写一个区块链
几乎每个人都听说过像比特币和以太币这样的加密货币,但是只有极少数人懂得隐藏在它们背后的技术.在这篇博客中,我将会用JavaScript来创建一个简单的区块链来演示它们的内部究竟是如何工作的.我将会称之 ...
- 怎么分别javascript写在<head>里还是<body>里面?
怎么分别javascript写在<head>里还是<body>里面? 具体哪些语句写在<body>里,哪些语句写在<head>里 满意答案 BeginN ...
随机推荐
- 用户名 不在 sudoers文件中,此事将被报告
解决方法: 1.通过编辑器来打开/etc/sudoers 2.直接使用命令visudo 打开sudoers后,如下加上自己的帐号保存后就可以了. # User privilege specificat ...
- java.lang.UnsupportedClassVersionError: Unsupported major.minor version 52.0的错误
1.首先检查是不是jdk版本过低,如果过低的话就把jdk重新安装一下 2.在编译器的版本中设置一下,compiler中设置成与jdk版本相同
- iOS中事件的传递和响应者链条
在iOS 开发中,常见的事件有三种类型,分别是: (1)触摸事件:平常手指在屏幕上滑动,产生的事件都是触摸事件 (2)加速计事件:微信的摇一摇就是典型的加速计事件 (3)远程控制事件:耳机控制歌曲上一 ...
- Windows7 64位机上Emgu CV2.4.2安装与配置
Windows7 64位机上Emgu CV2.4.2安装与配置 分类: Emgu CV 2012-11-28 17:22 92 ...
- jQuery EasyUI, datagrid, treegrid formatter 参数比较 row index
如题: datagrid中,见官方文档: formatter function The cell formatter function, take three parameter:value: the ...
- 理解C# Lazy<T>
1.Lazy<T>解决什么问题? 考虑下面的需求,有个对象很大,创建耗时,并且要在托管堆上分配一大块空间.我们当然希望,用到它的时候再去创建.也就是延迟加载,等到真正需要它的时候,才去加载 ...
- centos nginx install openssl
1.查看是否已经安装 ssl 组件 [root@localhost wwwlogs]# cd /usr/local/nginx/sbin/ [root@localhost sbin]# ./nginx ...
- 3 分钟学会调用 Apache Spark MLlib KMeans
Apache Spark MLlib是Apache Spark体系中重要的一块拼图:提供了机器学习的模块.只是,眼下对此网上介绍的文章不是非常多.拿KMeans来说,网上有些文章提供了一些演示样例程序 ...
- careercup-数学与概率 7.7
7.7 有些数的素因子只有3.5.7,请设计一个算法,找出其中第k个数. 解法: 首先,我们可以将满足条件的前几个数列出来,以此寻找解题思路. 一种简单的思路就是对于已经列出的数,我们依次去乘以3,5 ...
- Java出现No enclosing instance of type E is accessible. Must qualify the allocation with an enclosing--转
原文:http://blog.csdn.net/sunny2038/article/details/6926079 最近在看Java,在编译写书上一个例子时,由于书上的代码只有一部分,于是就自己补了一 ...