if 语句

do-while 语句

  1. var i = 0;
  2. do{
  3. i++
  4. } while(i<10)
  5. console.log(i)

while 语句

for 语句

for in 语句

用于遍历数组或对象的属性 (ES5)

重点:for in 和 for of 的区别

  • for in 循环对象属性 for of 遍历数组
  • for in 循环出的是key , for of 循环出的是value
  • for of 是ES6
  • for of 不能循环普通的对象,需要通过和Object.keys() 搭配使用
  1. var obj = {
  2. a:1,
  3. b:2,
  4. c:'undefined'
  5. }
  6. for(var i in obj){
  7. console.log(obj[i]) //i是 键名
  8. }
  9. var student = {
  10. name: 'chu',
  11. age: 22,
  12. }
  13. for (var key of Object.keys(student)) {
  14. //使用Object.keys()方法获取对象key的数组
  15. console.log(key + ": " + student[key]);
  16. }

break 和 continue

break 会立即退出循环,强制继续执行循环后面的语句
continue 也是立即退出循环,但是循环后会从循环的顶部继续执行

  1. var num = 0;
  2. for(var i=1;i<10;i++){
  3. if(i % 5 == 0){
  4. break //4 continue //8
  5. }
  6. num ++
  7. }
  8. console.log(num)

switch 语句

  1. switch(i){
  2. case 25:
  3. console.log("25")
  4. break;
  5. case 35:
  6. console.log("35")
  7. break;
  8. default:
  9. console.log('other')
  10. }

如何终止for 循环

  1. 使用try监视代码块,在需要中断的地方抛出异常。
  2. 官方推荐方法(替换方法):用every和some替代forEach函数。every在碰到return false的时候,中止循环。some在碰到return ture的时候,中止循环

使用 return

  1. let arr = [1,2,3]
  2. arr.forEach((item)=>{
  3. if(item===2){
  4. return
  5. }
  6. console.log(item) //1 3
  7. })

return 并没有终止 forEach 循环,还是继续循环打印出了3

使用 try…catch 来终止循环

  1. let arr = [1, 2, 3];
  2. try {
  3. arr.forEach((item) => {
  4. if (item === 2) {
  5. throw "循环终止";
  6. }
  7. console.log(item);
  8. });
  9. } catch (e) {
  10. console.log("e", e);
  11. }

使用其他语法

  1. // 使用 Array.some()
  2. arr.some(item => {
  3. console.log('b: ',item)
  4. return item === 2 // 当有数组有一项满足条件时结束并返回true
  5. })
  6. // 使用 Array.ervey()
  7. arr.every(item => {
  8. console.log('c: ',item)
  9. return item !== 2 // 检查数字中是否每一项都满足条件,如果有一项不满足就结束循环并返回false
  10. })
  11. every在碰到return false的时候,中止循环。some在碰到return ture的时候,中止循环。
  12. var a = [1, 2, 3, 4, 5]
  13. a.every(item=>{
  14. console.log(item); //输出:1,2
  15. if (item === 2) {
  16. return false
  17. } else {
  18. return true
  19. }
  20. })
  21. var a = [1, 2, 3, 4, 5]
  22. a.some(item=> {
  23. console.log(item); //输出:1,2
  24. if (item === 2) {
  25. return true
  26. } else {
  27. return false
  28. }
  29. })