Skip to content
On this page

循环操作语句

循环,重复做一件事情

for

javascript
for(设置循环起始值;设置循环执行的条件;步长累加){
	// 循环体:重复做的事情都是在循环体重
}
1
2
3
  • 设置初始值
  • 验证条件
  • 条件成立,执行循环体:不成立,循环借宿
  • 步长累加
javascript
for(;i<5;;){
	consloe.log(i);
  //没有步长累加,我们的i永远是0,循环条件永远成立“死循环”;
  //项目中不能出现死循环,一旦出现,循环下面的事情都做不了
}
1
2
3
4
5

break

结束整个循环:循环体重一旦遇到 break 首先后面代码不执行了,而且步长累加也不执行了,循环都结束了

for(var i=0;i<5;i+=2){
	console.log(i)
  break;
}
1
2
3
4

BAT 面试题

javascript
for(var i=1;i<10;i+=2){
	if(i<5){
  	i++;
    continue;
  }else{
  	i+=3;
    break;
  }
  console.log(i)
}
console.log(i) // =>10
1
2
3
4
5
6
7
8
9
10
11

continue

结束本轮循环,继续执行下一轮:循环体重 continue 后面的代码都不会在执行,它会直接的去执行步长,然后进行下一轮

javascript
for(var i=0;i<5;i+=2){
	console.log(i)
  continue;
}
1
2
3
4

for in

用来遍历(循环)对象键值对的

  • var key;var attr(attribute);
  • 对象中有多少键值对,我们的 for in 循环遍历多少次(多少次)
  • 第一次循环 key 这个遍历存储的都是当前循环这个组键值队的属性名
  • key 存储的值都是字符串格式的(不管属性名是否为数字)
  • 在 for in 循环的遍历时候,大部分浏览器都是先把对象中的键值对进行排序(把数字属性的排在前面,并且排列的时候安卓数字由小达大排列), 其次在把非数字的属性名按照之前编写的顺序,循环的时候按照重新排列循序一次遍历(小数算作字母不要做数字)
javascript
var obj = {name:wjw,age:8,0:'wjh',3:'ylp',1:'cx'}
for(var key in obj){
    console.log('ok')
    // key 属性名 string
    console.log(obj.key)
  	//获取obj中key这个属性对应的值 ->undefined <=> obj['key']
    console.log(obj[key]);
  	//->每一次循环把key变脸存储的值(当前遍历的属性名)获取到放在中括号中,获取obj对应的属性值
}
for(var key in obj){
    if(obj.hasOwnProperty(key)){

    }

}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
沪ICP备20006251号-1