JavaScript流程控制

JavaScript流程控制

JavaScript和java语言语言,一门独立的编程语言,有自己的流程控制:

1.条件语句

1.1、if分支语句

JavaScript使用if(){...}else{...}来进行条件判断,例如,根据年龄显示不同内容,可以用i语句实现如下:

var age = 20;
if(age >= 18){//如果age >= 18为true,则执行if语句块
    alert("成年");
}else{ //否则执行else语句块
    alert("未成年");
}

 

其中else语句是可选的。如果语句块只包含一条语句, 那么可以省略{}

var age = 20;
if(age >= 18)
    alert(成年);
else
    aler(未成年);

 

如果还要更细致地判断条件,可以使用多个if...else if..的组合。

if...else...语句的执行特点是多选一。在多个if...else...语句中,如果某个条件成立,则后续就不再继续判断了。

 

JavaScript把null、undefined、0、NaN和空字符串视为false, 其他值一概视为true

 

1.2、switch...case分支语句

语法:

switch(表达式) {
case 1:
    //代码块
    break;
case n:
    //代码块
    break;
default:
    //代码块
    break;
}

 

  • 计算一次 switch 表达式
  • 把表达式的值与每个 case 的值进行对比
  • 如果存在匹配,则执行关联代码
  • 值必须与要匹配的类型相同。

 

2、循环语句

在JS中循环有以下几种语句:

  • for - 循环代码块一定的次数
  • for/in - 循环遍历对象的属性
  • while - 当指定的条件为 true 时循环指定的代码块
  • do/while - 同样当指定的条件为 true 时循环指定的代码块

 

2.1 for循环

语法:

for (语句 1; 语句 2; 语句 3)
{
    被执行的代码块
}

语句 1 (代码块)开始前执行

语句 2 定义运行循环(代码块)的条件

语句 3 在循环(代码块)已被执行之后执行

 

2.2 for...in循环

语法:

for ( [var] variable in <object | array){
    statement
}

variable 表示一个变量,可以在其前面附加 var 语句,用来直接声明变量名。in 后面是一个对象或数组类型的表达式。在遍历对象或数组过程中,把或取的每一个值赋值给 variable。

然后执行 statement 语句,其中可以访问 variable 来读取每个对象属性或数组元素的值。执行完毕,返回继续枚举下一个元素,以此类推知道所有元素都被枚举为止。

对于数组来说,值是数组元素的下标;对于对象来说,值是对象的属性名或方法名。

 

2.3 while循环

语法:

while (expr){
    statement
}

当表达式 expr 的值为真时,将执行 statement 语句,执行结束后,再返回到 expr 表达式继续进行判断。直到表达式的值为假,才跳出循环,执行下面的语句。

 

2.4 do...while语句

do/while 与 while 循环非常相似,区别在于表达式的值是在每次循环结束时检查,而不是在开始时检查。因此 do/while 循环能够保证至少执行一次循环,而 while 循环就不一定了,如果表达式的值为假,则直接终止循环不进入循环。语法格式如下:

do{
    statement
}while(expr)

 

3、其它语句

3.1 break语句

break无条件从当前正在执行的循环或者switch语句终断并退出。

如果在break后加上一个lable标号名,那么终断退出循环后,就会跳到标号对应的语句上去。

3.2 continue语句

continue语句的工作模式和break有点类似,都有结束循环的作用,不样的地方在于,break彻彻底底结束了循环,而continue只是结束了循环中的一次循环,并没有彻彻底底终止循环。注意区别!

3.3 return语句

return用于返回函数的结果值,如果返回的值是一个表达式,那js会先运算表达式,然后将表达式的计算结果返回。
需要注意的是: return语句只能用在函数体里。

3.4 with语句

with语句用于暂时修改作用域,
用法我们通过一一个例子给大家演示说明:

//比如:定义一个对象
var beautifulBoy={
    name:'北冥',
    sex:'男'
}

//一般的调用方式
console.log(beautifulBoy.name);
console.log(beautifulBoy.sex);

//使用with之后的调用
with(beautifulBoy){
    console.log(name);
    console.log(sex);
}

with在ES5版本的标准中,提出严格模式下,不让用了,所以这个知识点了解一下就行。

 

posted on 2020-04-25 12:18  北冥道人骑鲲打代码  阅读(194)  评论(0编辑  收藏  举报

导航