JavaScript循环结构

289 阅读5分钟

循环结构-while

while循环的格式

while(条件表达式){
    条件满足执行的语句;
}

while循环的特点

  • 只有条件表达式为真才会执行后面{}中的代码
  • 大括号中的代码有可能会被执行多次

while循环的执行流程

  • 首先会判断条件表达式是否为真,如果为真就执行后面{}中的代码
  • 执行完后面{}中的代码,会再次判断条件表达式是否还为真
  • 如果条件表达式还为真,那么会再次执行后面{}中的代码
  • 重复上述三步,直到条件表达式不为真为止
let num = 1;
while(num <= 10){
    console.log("发射子弹" + num);
    num++;
}

while循环注意点

  • 死循环:条件表达式永远为真的循环结构
  • 循环体:循环结构后面的{}
  • 对于非Boolean类型的值, 会先转换为Boolean类型再判断
  • while后如果只有一条语句它可以省略大括号
  • 如果省略了后面的{},那么只有紧随其后的那条语句受到控制
  • 不能在()后面写分号;
  • 最简单死循环写法:while(1);
  • while循环不能省略条件表达式

循环结构-do while

do while循环的格式

do{
    需要重复执行的代码;
}while(条件表达式);

do while循环的特点

无论条件表达式是否为真, 循环体都会被执行一次

do{
    console.log("www.xxx.com");
}while (false);

while循环和do while循环的选择

  • 在企业开发中大部分情况下while循环和do while循环是可以互换的
  • 在企业开发中如果循环体中的代码无论如何都需要先执行一次, 那么建议使用do while循环
  • 在企业开发中其它的情况都建议使用while循环
// while实现
let pwd = prompt("请输入密码");
while (pwd !== "123456") {
    pwd = prompt("请输入密码");
}
alert("欢迎回来");

// do-while实现
let pwd = -1;
do{
   pwd = prompt("请输入密码");
}while (pwd !== "123456");
alert("欢迎回来");

JavaScript变量作用域

JavaScript中定义变量有两种方式

ES6之前: var 变量名称;
ES6开始: let 变量名称;

两种定义变量方式的区别

  • 如果通过var定义变量, 可以重复定义同名的变量, 并且不会报错, 并且后定义的会覆盖先定义的
  • 如果通过var定义变量, 可以先使用后定义(预解析)
  • 如果通过let定义变量, 不可以重复定义同名的变量
  • 如果通过let定义变量, 不可以先使用再定义, 因为浏览器不会对let定义的变量进行预解析

全局变量

全局变量就是定义在{}外面的变量, 我们就称之为全局变量

局部变量

局部变量就是定义在{}里面的变量, 我们就称之为局部变量

全局变量和局部变量的区别

  • 如果是全局变量, 那么有效范围是从定义变量的那一行开始直到文件的末尾都可以使用
  • 如果是局部变量, 那么有效范围是从定义变量的那一行开始直到大括号结束为止(只有在大括号中才能使用)
  • 无论是通过var还是通过let定义的全局变量, 都是从定义的那一行到文件末尾都可以使用
  • 如果是通过var定义的局部变量, 和全局变量一样, 后续都可以被使用
  • 如果是通过let定义的局部变量, 那么这个变量只能在当前定义变量的{}中使用

循环结构-for

for循环的格式

for(初始化表达式;条件表达式;循环后增量表达式){
    需要重复执行的代码;
}

for循环的特点

只有条件表达式为真, 才会执行循环体

for循环的执行流程

  • 首先会执行初始化表达式,并且只会执行一次
  • 判断条件表达式是否为真,如果条件表达式为真,就执行循环体
  • 执行完循环体就会执行循环后增量表达式
  • 重复第二步和第三步,直到条件表达式不为真为止

for循环注意点

  • 在for循环中"初始化表达式","条件表达式","循环后增量表达式"都可以不写,如果不写就相当于while(1)
  • for循环是可以省略条件表达式的,默认就是真

for循环和while循环的选择

  • 如果是while循环,在循环结束之后还可以使用用于控制循环结束的变量
  • 如果是for循环, 在循环结束之后可以让外界使用,也可以不让外界使用
  • 在企业开发中由于for循环比while循环要灵活, 所以能用for循环就用for循环

break关键字

什么是break关键字

  • break关键字可以用于switch语句和循环结构中
  • 在switch语句中break关键字的作用是立即结束当前的switch语句
  • 在循环结构中break关键字的作用也是立即结束当前的循环结构

break关键字的注意点

  • break关键字后面不能编写任何的语句,因为永远执行不到
  • 如果在循环嵌套的结构中,break结束的是当前所在的循环结构

continue关键字

什么是continue关键字

  • continue关键字只能用于循环结构
  • 在循环结构中continue关键字的作用是跳过本次循环,进入下一次循环

continue关键字的注意点

  • continue关键字后面和break一样,不能编写其它的代码,因为执行够不到
  • 和break一样,如果continue出现在循环嵌套结构中,只会跳过当前所在的循环

原文链接:www.jianshu.com/p/8741cfc95…