JS 循环练习
Posted 张凯::get("新技能")
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS 循环练习相关的知识,希望对你有一定的参考价值。
规律 大范围套小范围 循环 分支语句 switch case 嵌套 死循环 while(true) 打破循环 break continue while(true)
1.折纸:折多少次和珠穆朗玛峰一样高 1.一张纸的厚度是0.0001米,将纸对折,对折多少次厚度超过珠峰高度8848米
var hou = 0.0001; var cishu = 0; for(var i=0;i>=0;i++) { hou = hou*2; if(hou>8848) { cishu = i+1; break; } } alert(cishu);
2.有一对幼兔,幼兔1个月后长成小兔,小兔1个月后长成成兔并生下一对幼兔,问8个月后有多少对兔子,幼兔、小兔、成兔对数分别是多少。
幼兔 1 小兔 0 成兔 0 初始值 幼兔 0 小兔 1 成兔 0 第一个月 幼兔 1 小兔 0 成兔 1 第二个月 幼兔 1 小兔 1 成兔 1 第三个月 幼兔 2 小兔 1 成兔 2 第四个月 幼兔 3 小兔 2 成兔 3 第五个月 幼兔 5 小兔 3 成兔 5 第六个月
当前月份幼兔 = 上个月的成兔+上月小兔 当前月份小兔 = 上月幼兔 当前月份成兔 = 上月成兔+上月小兔
这个题重点注意 把这个月的兔子复制给上个月过程 也可以和上面题一样 直接上个月和这个月兔子用统一名称表示
var prevyou = 1; var prevxiao = 0; var prevcheng = 0; var nowyou = 0; var nowxiao = 0; var nowcheng = 0; for(var i=0;i<10;i++) { //该月份的兔子数量 //当前月份幼兔 = 上个月的成兔+上月小兔 nowyou = prevxiao+prevcheng; //当前月份小兔 = 上月幼兔 nowxiao = prevyou; //当前月份成兔 = 上月成兔+上月小兔 nowcheng = prevcheng+prevxiao; //把当前月份的数量转化为上个月的 prevyou = nowyou; prevxiao = nowxiao; prevcheng = nowcheng; } alert(nowyou); alert(nowxiao); alert(nowcheng);
3.羽毛球拍15元,球3元,水2元。200元每种至少一个,有多少可能
羽毛球拍最多买13个 球最多买66个 水最多买100个
var sl=0; for(var i=1;i<14;i++) { for(var j=1;j<67;j++) { for(var k=1;k<101;k++) { if(i*15+j*3+k*2==200) { sl++; } } } } alert(sl);
4.括号里面只能放加或减,如果要使等式成立,括号里面应该放什么运算符 12()34()56()78()9 = 59
1+2 1+ +1*2 5-10 5+ -1*10 (注意 :灵活运用1和-1 加25可以看作+1*2 5 减25可以看作+(-1)*2 5;同理乘除也一样)
循环未必是多次 可能只循环两次 也可能只循环1次 如下
for(var i=-1;i<2;i=i+2) { for(var j=-1;j<2;j=j+2) { for(var k=-1;k<2;k=k+2) { for(var l=-1;l<2;l=l+2) { if(12+i*34+j*56+k*78+l*9==59) { alert(i+"|"+j+"|"+k+"|"+l); } } } } }
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
数组: 数组长度 .length
强类型语言 ,同一种类型的数据存取的集合(在内存中是连续的) 在定义时必须指定长度
弱类型语言: 可以存储任意类型的数据,在内存中不连续【可以随时往里填随时往外移除】
弱类型语言中得集合相当于强类型语言中的 集合
数组的书写格式
1.var str=new array(); 空的数组
数组的添加:
str[0]=r;
str[1]=7;
str[2]=8;
数组提取和添加相同;
2.数组格式2。
var str2=new Array(1,e,3,6);
数组提取
str[1]=e;
数组修改
str[1]=p;
3.数组格式3
var str2=["a","b","c"];
【如果存入内容是字符串 (非数值)必须加双引号;无论强类型还是弱类型字符串和上引号不分开】
4.输出整个数组:遍历集合 或者 循环 js中遍历集合只有for的形式如下
var attr5=[1,2,3,4,5,6]; for(var i=0;i<attr5.length;i++) { alert(attr5[i]); }
jS中得遍历集合 与强类型语言 不同之处1.弱类型语言中用 for 强类型语言中用foreach 2.弱类型输出的a是索引 强类型语言输出的是具体的值
for(var a in attr5) { alert(atter5[a]); }
以上是关于JS 循环练习的主要内容,如果未能解决你的问题,请参考以下文章