循环的步骤分为:
1、声明循环变量;
2、判断循环条件;
3、执行循环体操作;
4、更新循环变量;
5、然后循环执行2-4,直到条件不成立,跳出循环。
在JS中有很多种循环方法而我们最常用的4中方法为:
1.while循环
![在这里插入图片描述](https://img-blog.****img.cn/20191215160603506.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1VuZm9ydHVuYXRlbHlpZg==,size_16,color_FFFFFF,t_70)
特点:1.先检查条件,再执行循还;
2.条件不满足则循还一次也不执行
时机 :一个动作被重复执行到满足某个条件时
转换规则: ①Boolean:true为真,false为假;
②String:空字符串为假,所有非空字符串为真;
③Number:0为假,一切非0数字为真;
④null/Undefined/NaN:全为假;
⑤Object:全为真。
2.do-while
特点: 1.先执行循环体内代码再进行判断
2.循环体的代码至少执行一次
时机:希望一个动作至少被执行一次时
for循环
1、for有三个表达式:①声明循环变量;②判断循环条件;③更新循环变量;三个表达式之间,用;分割,for循环三个表达式都可以省略,但是两个“;”缺一不可。
2、for循环的执行特点:先判断再执行,与while相同
3、for循环三个表达式都可以有多部分组成,第二部分多个判断条件用&& ||连接,第一三部分用逗号分割;
![](https://img-blog.****img.cn/201912151607030.png)
for in循环
for-in 循环主要用于遍历对象
for in()中的格式:for(keys in zhangsan){}
keys表示obj对象的每一个键值对的键!!所有循环中,需要使用obj[keys]来取到每一个值!!!
for-in 循环,遍历时不仅能读取对象自身上面的成员属性,也能延续原型链遍历出对象的原型属性
所以,可以使用hasOwnProperty判断一个属性是不是对象自身上的属性。
obj.hasOwnProperty(keys)==true 表示这个属性是对象的成员属性,而不是原先属性
注意:循还输出的属性顺序不可预知;
对象的值不能是mull或undefined