for循环

for(var i = 0;i<10;i++)
for循环用于遍历对象,并将对象中的数拿出来

for循环的括号里用两个分号把它分成了三个部分,第一部分是循环变量,第二部分是循环的判断条件,第三部分是变量的变化规律(即每循环一次变量i的变化情况)。

for(var i = 0; i <10;i++){
console.log(i)
}

让我一步步的解析
首先 我var了一个 i 的变量并使它初始值等于0--------接着使 i <10, 最后i ++ 表示每次循环结束 i 自增 一

所以很好理解了,第一次循环时 ,i = 0, 判断 i <10没错,所以循环继续执行,(记住,这里每次i 必须要符合你第二个给的判断条件,只有它符合这个人条件这循环才能继续执行,不然就会停止循环),输出第一个数就为 0,接着i++ ,0自增1等于1吧,这个应该不用多说,所以1进入循环,判断1 < 10 没错,所以第二个数出来了为2,接下来又自增1,2自增一3 进入循环。。。。。。然后一直到 i = 9 的时候,输出9,在自增时为10,已经10 < 10 错误,所以循环结束
所以输出结果我们看下

这只是最简单的,接下来我们来个有点难度的
求1+2+3+4+。。。。+99的和
这个题我们应该怎么看呢,首先我们如果用数学的方法来做,肯定都会是吧,把每个数字拿出来然后相加,那么其实逻辑都一样
我们也是需要先把1-99之间的数字都先拿出来吧,那么用什么方法呢,for循环吧,遍历数组,拿出1-99之间的每个数,那么好,我们看

for(var b = 1;b<100;b++){

 }

是这样吧,没错,至于这里var b 为什么不等于0呢,我们初始值是从1开始加的吧,不是0,所以初始值等于1,好接下来我们这样输出一下看看是什么结果

我们可以看到他输出了1-99之间的数字吧,并不是我们想要的结果,那么怎么办呢。。。。。给他条件
找规律啊,1-99相加规律就是 (b*(b+1))/2 这个是吧
所以我们在输出结果之前加一个这个条件就行了或则consle 输出的时候不要输出b 输出这个公式也可以
for(var b = 1;b<100;b++){

    var a = (b*(b+1))/2console.log(a)}

//
for(var b = 1;b<100;b++){

  console.log((b*(b+1))/2)

}
上下2种都可以

for循环有很多种用法,它里面可以套if 语句,也可以在套for循环等等都可以,所以我们在看几个套 if 语句的列子

求100之间的奇偶数
首先我们需要知道什么是奇数与偶数,偶数-------可以被2整除的数--------%2=0 (除以2余数为0),奇数-----不能被2整除的数----%2=1(除以2余数为1),知道了他们的规律那么就非常好做了

首先还是一样取出1-100之间所以的数吧,然后给他一个判断条件,如果输出结果除以2余数为0的时候,就输出偶数,剩下的不是偶数就是奇数了,不算非奇非偶的话,如果非要算,在添加条件即可
for(var a = 1;a<=100;a++){
if(a%2==0){
document.write(a+‘偶数’)

    }else{document.write(a+'奇数')}}
// 最大公约数var m =parseInt(window.prompt('input'))var n =parseInt(window.prompt('input'))var a = 1;for(i=1;i<=m && i<=n && m<=n;i++){if(m%i==0 && n%i==0){a = i}   }document.write(a)

// 最小公倍数
var m =parseInt(window.prompt(‘input’))
var n =parseInt(window.prompt(‘input’))
for ( var i = 1; i <= m * n ; i++) {

if(i % m == 0 && i % n == 0) {

console.log(i);
break;
  }

}

for in

for 。。。 in 。。可以遍历对象或数组的显性属性,也就是说我们自己定义的属性是可以遍历的,那些原型上默认已有的属性,例如:Object.prototype.toString、Object.prototype.hasOwnProperty 是遍历不出来的。

表达式 for(变量名 表示数组中索引值 in 数组名)

比如
var arr = [‘aa’,12,true,{},[‘aa’],null];

要想取出数组中所有的数

for(i in arr){
console.log(arr[i]) //-------arr[i] 表示数组索引值所对应的数,比如 i = 1 ,arr[i] 对应数组中索引值为1的数-----就是12
}
当然这题也可以用for循环来做也是一样的

for(var i = 0;i<arr.length;i++){
console.log(arr[i])
// arr[0]----‘aa’
//arr[1]-----12
//arr[2]----true
//…
//最后一次
// arr[arr.length-1]// null
}

        var xiaoming = {name: "小明",age: 42,sex: "男"}for(var key in xiaoming){alert(key + ", " + xiaoming[key]);}

这里的 key 不像利用for循环遍历数组时的下标 1、 2、 3 了,这里它是对象的属性名,他也被称为下
下标,也可以用下标的方式,访问对象中的第几个属性。
我们都知道小标都用 [ ] 表示,所以这里访问第几个对象属性的属性值时,也可以用 对象[下标] 来访问。

【注】在对象中 . 是和 [ ] 的意思是一样的。例 xiaoming.name 等价于 xiaoming[name] , 但是for…in遍历下标中不能混淆, xiaoming[key] 可不等价与 xiaoming.key 。在 xiaoming[key] 中 key等于 每一次遍历的 name,age,sex等。 而xiaoming.key 就相当于访问xiaoming对象的key属性。很明显这里没有定义。

for in 中可以嵌套for循环 也可以嵌套for in

首先,for in 只能遍历出一层,像下面的题目我们需要的是输出(胡小威,20,true,赵小亮,22,false)这几个字符串,而for in 一次的话,它遍历只能遍历出2对象
var arr = [{“name”:“胡小威” , “age”:20 , “male”:true},{“name”:“赵小亮” , “age”:22 , “male”:false}]
for(x in arr){
console.log(arr[x])
}
看输出

所以我们需要在套一层for in

    for(x in arr){for(y in arr[x]){console.log(arr[x][y])}}


我们可以看到输出的结果就是我们需要的,这就是 for in 的2层嵌套,
/ for 。。。in 便利的数据
// 。。。。可以为任意的数据 赋值为对象中的属性
// 便利的对象,你只需要去除那个对象中所有的数据

// for x in obj obj表示便利的对象 x 表示属性
// x 有多个属性, 那么就执行多少次循环
数组下嵌套数组也叫多维数组
遍历方式: for的嵌套,最好不要超过5层,如果超过5层,如果超过5层,那就会崩溃

for(x in obj)
var arr = [['name',1,2,3,4,5,6,2,3,3,333],['form','aa','dcc',22],['dd',1,2,3,44,55]] // 遍历第一遍数组/*arr[0]---->['name',1,2,3,4,5,6,2,3,3,333]---在辨别能力在第一层基础上在遍历数组----->'name',1,2,3,4,5,6,2,3,3,333arr[1]---->['form','aa','dcc',22]在第一层基础上在遍历数组----->'form','aa','dcc',22arr[2]---->['dd',1,2,3,44,55]在第一层基础上在遍历数组----->'dd',1,2,3,44,55*/

最后附上一张笔记的理解,当然是我盗图的哈哈,我觉得写的挺明白的

for循环,for循环嵌套相关推荐

  1. python 用for循环生成字典_我需要创建一个for循环来生成嵌套字典

    我需要创建一个for循环,该循环会在每次检测到不存在的键时生成一个新的嵌套字典.我正在从以前的函数中获取外部字典的信息. >它将需要创建一个字典,以可用的运动作为其键,并以字典作为其 值. &g ...

  2. python循环套循环_零基础学python 14 循环套循环:循环的嵌套

    大家可以回忆一下,之前我们学习过的循环结构.也就是for循环结构,今后我们还将学习另一种循环结构while结构,这里先不细讲.当初我们学习for循环结构的时候,有心的同学或许会发现,我们的for结构一 ...

  3. for循环 for循环嵌套

    for循环: for(var i = 0; i < 3; i++){ console.log(1); } /** *         i=0    =>   为初始值 *          ...

  4. c语言镶嵌循环,讲解C++的do while循环和循环语句的嵌套使用方法

    用do-while语句构成循环do-while语句的特点是先执行循环体,然后判断循环条件是否成立.其一般形式为: do 语句 while (表达式); 它是这样执行的:先执行一次指定的语句(即循环体) ...

  5. while语句和for嵌套c语言,关于循环的嵌套,说法错误的是() 答案:三种循环(while循环、do-while循环和for循 环)不可以互相嵌套。...

    相关问题 在C语言中,为了结束由while语句构成的循环,while后一对圆括号达式的值应该为(): C语言 中 结束 while 语句 循环 while 后 圆括号 值 学生,意识,生命体征,气道, ...

  6. c语言循环嵌套do do while while结构例子,讲解C++的do while循环和循环语句的嵌套使用方法...

    用do-while语句构成循环do-while语句的特点是先执行循环体,然后判断循环条件是否成立.其一般形式为: do 语句 while (表达式); 它是这样执行的:先执行一次指定的语句(即循环体) ...

  7. java 双重for循环_Java--for循环之双层循环嵌套 执行流程

    for循环单层循环执行流程:http://blog.csdn.net/asheandwine/article/details/76383304 接下来看双层循环: 循环嵌套是指在一个循环语句中再定义一 ...

  8. java for if嵌套_for循环嵌套if语句怎么循环-for 循环嵌套if语句-for循环语句嵌套使用的实例...

    for循环嵌套里怎幺用if语句控制外循环? 修改如下 int Su(int x) { int i,j; for(i=x;i>=2;i--) { for(j=2;j<=i>=i> ...

  9. 3.6 无限循环和循环嵌套

    3.6 无限循环: 最简单无限循环格式: while(true){} 或 for(  ;  ;  ){ } 无限循环存在的原因是并不知道循环多少次,而是根据某些条件,来控制循环. 循环嵌套: 嵌套循环 ...

  10. python无限循环条件循环_Python - 条件控制、循环语句 - 第十二天

    Python 条件控制.循环语句 end 关键字 关键字end可以用于将结果输出到同一行,或者在输出的末尾添加不同的字符,实例如下: Python 条件语句是通过一条或多条语句的执行结果(True 或 ...

最新文章

  1. C#中as与is的用法
  2. Python的集合set
  3. 完美解决idea继承maven后,构建项目慢的问题
  4. [转]C#多线程学习(三) 生产者和消费者
  5. 阿里财报:云计算年度营收133亿,季度营收连续12个季度翻番
  6. 学习linux系统到底有没捷径?
  7. hooks组件封装 react_名符其实的react下一代状态管理器hox
  8. 重庆火锅哪家强,Python 帮你探探店
  9. Selenium中的xpath定位
  10. LDA模型困惑度计算出现的问题
  11. 谷歌浏览器无法上网,其他浏览器正常,换chrome搜索引擎
  12. 网课搜题公众号接口怎么对接?最新接口-麦麦题
  13. 深度学习GPU显卡的浮点计算性能指标分析
  14. wifi 频段表_史上最全无线通信频率分配表,转走收藏!
  15. HDU-3374 String Problem
  16. 7-3 特立独行的幸福
  17. 2022年武汉市小微企业服务补贴券签约服务机构申报条件、材料和申报方式
  18. 老九学堂之分布式设计教材
  19. 乐视手机便签怎么备份到云端
  20. 软件产品的税收优惠政策

热门文章

  1. pyqt5 设置按钮圆角
  2. Latex表格/公式在线编译转换器
  3. 72分辨率下1厘米等于多少像素,300分辨率下1厘米等于多少像素
  4. Linux 磁盘管理 高级篇 -- quota,RAID,LVM
  5. .NetCore分布式部署中的DataProtection密钥安全性
  6. oracle 字符串日期转指定格式日期,Oracle和Sql 日期格式与字符串格式相互转换
  7. java聚群_人工鱼群算法超详细解析附带JAVA代码
  8. Win7 中使用 blat 自动发邮件
  9. 在word文档中插入代码_如何在自动更新的Word文档中插入当前的月份和年份
  10. oracle 2703,Oracle11gR2光钎链路切换crs服务发生crash