while循环
while循环()中的表达式,运算结果可以是各种类型,但是最终都会转为真假
Boolean:true为真,false为假
String:空字符串为假,所有非空字符串为真
Number:0为假,一切非0数字为真
null/Undefined/NaN:全为假
Object:全为真
while循环特点:先判断后执行
do-while循环
do-while循环特点:先执行再判断,即使初始条件不成立,do-while循环至少执行一次
for循环
for有三个表达式:声明循环变量,判断循环条件,更新循环变量
三个表达式之间,用 ; 分割,for循环三个表达式都可以省略,但是两个“;”不能省略
for循环的执行特点:先判断再执行,与while相同
for循环三个表达式都可以有多部分组成,第二部分多个判断条件用&& ||连接,第一三部分用逗号分割
for-in 循环
主要用于遍历对象
for()中的格式:for(keys in zhangsan){}
keys表示obj对象的每一个键值对的键所有循环中,需要使用obj[keys]来取到每一个值
for-in 循环,遍历时不仅能读取对象自身上面的成员属性也能延续原型链遍历出对象的原型属性
所以可以使用hasOwnProperty判断一个属性是不是对象自身上的属性
obj.hasOwnProperty(keys)==true 表示这个属性是对象的成员属性,而不是原先属性
循环控制语句
break:跳出本层循环继续执行循环后面的语句
如果循环有多层则break只能跳出一层
continue:跳过本次循环剩余的代码继续执行下一次循环
对与for循环continue之后执行的语句是循环变量更新语句i++
对于while、do-while循环continue之后执行的语句是循环条件判断
使用这两个循环时必须将continue放到i++之后使用否则continue将跳过i++进入死循环