如何快速理解JavaScript 中重要语句for循环
一.基本结构:for(起始状态;判断条件;状态改变){
执行语句;
}
执行顺序:for(var i=1;i<3;i++){
alert(i);
}
1.判断条件 2.执行语句 3.状态改变
break(结束此循环).continue(跳过本次循环,开始下个循环)
二.例:
1.输出100 以内与7相关的数
<script type="text/javascript">
var str = '';
for(var i = 1; i <= 100; i++) {
if(i % 7 == 0 || i % 10 == 7 || (i > 70 && i < 80)) {
str += i + ',';
}
}
alert(str);
</script>
2.累加求和 100 以内所有数相加
<script type="text/javascript">
var sum = 0;
for(var i = 1; i <= 99; i++) {
sum += i;
}
alert(sum);
</script>
3.求阶乘 100 以为所有数相乘
<script type="text/javascript">
var sum = 1;
for(var i = 1; i <= 100; i++) {
sum *= i;
}
alert(sum);
</script>
4.输出乘法口诀表
<script type="text/javascript">
for(var j = 1; j <= 9; j++) {
var str_ln = '';
for(var i = 1; i <= j; i++) {
str_ln += i + '*' + j + ' ';
}
document.write(str_ln + '<br/>');
}
</script>
5.棋盘存放粮食输出总和
<script type="text/javascript">
var count = 1;
var sum = 0;
for(var i =1;i<=64;i++){
sum += count;
count *= 2;
}
alert(sum);
</script>
6.有一对幼兔,幼兔1个月后长成小兔,小兔1个月后长成成兔并生下一对幼兔,问几个月后有多少对兔子,幼兔、小兔、成兔对数分别是多少。
幼兔 1 小兔 0 成兔 0
幼兔 0 小兔 1 成兔 0
幼兔 1 小兔 0 成兔 1
幼兔 1 小兔 1 成兔 1
幼兔 2 小兔 1 成兔 2
幼兔 3 小兔 2 成兔 3
幼兔 5 小兔 3 成兔 5
当前月份幼兔 = 上个月的成兔+上月小兔
当前月份小兔 = 上月幼兔
当前月份成兔 = 上月成兔+上月小兔
<script type="text/javascript">
var n=prompt("请输入第几个月");
var yt = 1;
var xt = 0;
var ct = 0;
for(var month = 1; month <= n; month++) {
var pre_yt = yt;
var pre_xt = xt;
var pre_ct = ct; yt = pre_ct + pre_xt;
xt = pre_yt;
ct += pre_xt;
}
alert(yt + ','+ xt + ','+ ct);
</script>
7..羽毛球拍15元,球3元,水2元。200元每种至少一个,有多少可能()羽毛球拍最多买13个 球最多买66个 水最多买100个)
<script type="text/javascript">
var cont=0;
for(var i = 1; i <= 13; i++) {
for(var j = 1; j <= 61; j++) {
for(var k = 1; k <= 91; k++) {
if((i*15 + j*3 + k*2) <= 200){
cont+=1;
}
}
}
}
alert(cont);
</script>
死循环:while(true){
if(判断){
break;
}
}
例:1.蓝球弹起的高度 100 米,每次弹起是原来高度的0.6倍, 第几次高度小于1米?
<script type="text/javascript">
var count = 0;
var height = 100;
while(true) {
count++;
height *= 0.6;
if(height <= 1){
break;
}
}
alert(count);
</script>
2.一张纸的厚度是0.0001米,将纸对折,对折多少次厚度超过珠峰高度8848米
<script type="text/javascript">
var count =0;
var paper_height = 0.0001; while(true){
count++;
paper_height *= 2;
if(paper_height >= 8848){
break;
}
}
alert(count);
</script>
如何快速理解JavaScript 中重要语句for循环的更多相关文章
- 理解 JavaScript 中的 for…of 循环
什么是 for…of 循环 for...of 语句创建一个循环来迭代可迭代的对象.在 ES6 中引入的 for...of 循环,以替代 for...in 和 forEach() ,并支持新的迭代协议. ...
- 深入理解JavaScript中创建对象模式的演变(原型)
深入理解JavaScript中创建对象模式的演变(原型) 创建对象的模式多种多样,但是各种模式又有怎样的利弊呢?有没有一种最为完美的模式呢?下面我将就以下几个方面来分析创建对象的几种模式: Objec ...
- 深入理解javascript中执行环境(作用域)与作用域链
深入理解javascript中执行环境(作用域)与作用域链 相信很多初学者对与javascript中的执行环境与作用域链不能很好的理解,这里,我会按照自己的理解同大家一起分享. 一般情况下,我们把执行 ...
- 理解javascript中的策略模式
理解javascript中的策略模式 策略模式的定义是:定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换. 使用策略模式的优点如下: 优点:1. 策略模式利用组合,委托等技术和思想,有效 ...
- 理解javascript中的回调函数(callback)【转】
在JavaScrip中,function是内置的类对象,也就是说它是一种类型的对象,可以和其它String.Array.Number.Object类的对象一样用于内置对象的管理.因为function实 ...
- 深入理解JavaScript中的作用域和上下文
介绍 JavaScript中有一个被称为作用域(Scope)的特性.虽然对于许多新手开发者来说,作用域的概念并不是很容易理解,我会尽我所能用最简单的方式来解释作用域.理解作用域将使你的代码脱颖而出,减 ...
- 如何理解T-SQL中Merge语句(二)
写在前面的话:上一篇写了如何理解T-SQL中Merge语句,基本把Merge语句要讲的给讲了,在文章的后面,抛出了几个结,当时没有想明白怎么去用文字表达,这一篇就来解答一下这几个结,又是一篇“天马行空 ...
- 如何理解T-SQL中Merge语句
写在前面的话:之前看过Merge语句,感觉没什么用,完全可以用其他的方式来替代,最近又看了看Merge语句,确实挺好用,可以少写很多代码,看起来也很紧凑,当然也有别的优点. ====正文开始===== ...
- 理解JavaScript中的原型继承(2)
两年前在我学习JavaScript的时候我就写过两篇关于原型继承的博客: 理解JavaScript中原型继承 JavaScript中的原型继承 这两篇博客讲的都是原型的使用,其中一篇还有我学习时的错误 ...
随机推荐
- wemall app商城源码中ScrollView中嵌套ListView主要代码
很多时间我们在scorllview中嵌入listview的时候,都只能看到listview显示一行数据,而我们的要求是显示多行,即我们数据的行数, 当ListView的高度设定一定的值时,ListVi ...
- LODOP的一次使用后的总结
一.lodop打印预览效果图 LODOP.PRINT_SETUP();打印维护效果图 LODOP.PREVIEW();打印预览图 二.写在前面 最近项目用到了LODOP的套打,主要用到两个地方,一是物 ...
- php文件基本操作与文件管理功能
文件的基本操作 先来看一下PHP文件基础操作,请看强大注释 <body> <?php var_dump(filetype("./img/11.png")); // ...
- Maven——快速入门手册(学习记录)
前言: 前段时间进行了一点maven的入门学习,在这里做个记录,希望能帮到一些正在学习的朋友们.maven版本为3.3.9.希望大家觉得好的点个赞,觉得不好的多提提意见和建议做个交流.这里也贴出我学习 ...
- 一些关于Canny边缘检测算法的改进
传统的Canny边缘检测算法是一种有效而又相对简单的算法,可以得到很好的结果(可以参考上一篇Canny边缘检测算法的实现).但是Canny算法本身也有一些缺陷,可以有改进的地方. 1. Canny边缘 ...
- 交叉编译Python-2.7.13到ARM(aarch32)—— 支持sqlite3
作者:彭东林 邮箱:pengdonglin137@163.com QQ: 405728433 环境 主机: ubuntu14.04 64bit 开发板: qemu + vexpress-a9 (参考: ...
- SpringMVC REST 风格请求介绍及简单实践
简介 REST 即 Representational State Transfer.(资源)表现层状态转化.是目前最流行的一种互联网软件架构.它结构清晰.符合标准.易于理解.扩展方便,所以正得到越来越 ...
- Visual Studio 2017 新特性
全新的安装体检 VS2017更好的支持了按需安装的特点,用户可以仅选择需要的功能安装,节省了不少的Disk 最小的安装仅有几百兆,但也支持20多种编程语言的编辑和源码管理 支持创建自定义的离线安装包 ...
- iOS开发之iOS程序的启动过程
程序启动的完整过程: (1)main函数 (2)UIApplicationMain * 创建UIApplication对象 * 创建UIApplication的delegate对象 (3)delega ...
- Windows:将cmd命令行添加到右键中方法
win10中将命令行cmd添加到右键的方法 Windows cmd 右键 win10 命令行 最近在学python,所以会用到很多库文件,但是有的库文件需要下载whl文件再通过cmd进行安装,所以每次 ...