javascript中各种语句和控制结构编写javascript程序

声明语句

1. var

var语句用来声明变量的。它后面跟随的是要声明的变量列表,列表中的每个变量都可以带有初始化表达式,用于指定其初始值。

1

var x = 1,y = 2,z;

如果var语句出现在函数体内,那么它声明的变量是局部变量;如果在顶层代码中使用var语句,那它声明的是全局变量。(全局变量和局部变量在之前的章节中有提到)

如果用var声明的变量没指定初始值,那么其值为undefined。它声明的变量会被提前到函数顶部,但在声明语句前它的值都是undefined。

1

2

3

4

5

6

function test_var(){

    alert(x); //undefined

    var x = 1;

    alert(x); //1

}

test_var();

2. function

function关键字是用来定义函数的。

函数声明语句语法格式:

1

2

3

function funcname([arg1,[arg2[...,argn]]]){

    statements

}

funcname是要声明的函数名称,之后跟用逗号隔开的参数列表。花括号内是函数语句。

1

2

3

4

//函数声明语句

function sum(x,y){

    return x + y;

}

上面一个例子,用函数定义表达式,也可以达到同样的效果,写法如下:

1

2

3

4

//函数定义表达式

var sum = function(x,y){

    return x + y;

}

函数声明语句也会被提前,即可以在定义它之前的代码中被调用,而函数定义表达式语句必须在定义它之后调用。

3. if语句

if语句是种条件控制语句,有两种形式,分别为:

1

2

3

if(expression){

    statement

}

1

2

3

4

5

if(expression){

    statement1

}else{

    statement2

}

第一种形式,如果expression值为真,则执行statement。第二种形式增加了一个else从句,当expression值为真时执行statement1,当expression值为假时执行statement2.

1

2

3

4

5

6

7

8

9

var x = 1,y = 2;

if(x > 0){

    alert('x的值大于0'); //x的值大于0

}

if(x > y){

    alert('x比y大'); //x比y小,这条语句不会被执行

}else{

    alert('x比y小'); //x比y小

}

当代码中有多条分支的时候,if语句还可以与else if从句一起配合使用。写法如下:

1

2

3

4

5

6

7

if(expression1){

    statement1

}else if(expression2){

    statement2

}else{

    statement3

}

这段代码的意思是:当expression1值为真时,执行statement1,若expression1值为假则判断expression2的值,若expression2值为真,则执行statement2,否则继续判断接下来else if从句中的表达式。以此类推,直到一个条件满足,执行其中的代码,若所有条件都不满足,则执行最后的else语句中的代码。

1

2

3

4

5

6

7

8

9

10

11

12

var age = prompt('请输入年龄',20);

if(age < 0){

    alert('别这样,严肃点!');

}else if(age >= 0 && age < 18){

    alert('还是个小孩儿!');

}else if(age >= 18 && age < 50){

    alert('是个大人!');

}else if(age >= 50 && age < 120){

    alert('已经老了!');

}else{

    alert('这是要成精的节奏啊!');

}

4. switch语句

Switch语句与if语句关系很密切,很多时候能够相互转换。Switch语句也是一种条件控制语句。它的语法形式如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

switch(expression){

  case value1:

     statement1

     break;

  case value2:

     statement2

     break;

  case value3:

     statement3

     break;

     ...

  case valuen:

     statementn

     break;

  default:

    statement;

}

这段代码是这样执行的:首先是计算expression的值,然后由上至下与case后面的value值进行匹配,如果相等,则执行后面的语句,然后跳出switch语句,如果都不相等,则执行最后的default语句。通常情况下,switch语句都会带有default语句,若没有default语句,则switch的整个语句块都将被跳过。

注意:expression的值与case后的value值是执行全等判断的,即不会进行任何类型转换。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

var age = prompt('请输入年龄',20);

switch(true){

case age < 0:

    alert('别这样,严肃点!');

    break;

case age >= 0 && age < 18:

    alert('还是个小孩儿!');

    break;

case age >= 18 && age < 50:

    alert('是个大人!');

    break;

case age >= 50 && age < 120:

    alert('已经老了!');

    break;

default:

    alert('这是要成精的节奏啊!');

}

从这个例子可以看出,case后面可以跟一个任意的表达式。最常见的是跟随数字或字符串。

5. while语句

while语句是一种基本的循环语句,它的语法如下:

1

2

3

while(expression){

    statement

}

在执行statement之前,会先计算expression的值,若值为真,则执行statement,若值为假,则会跳过statement转而执行程序中的下一条语句。新建一个前端学习qun438905713,在群里大多数都是零基础学习者,大家相互帮助,相互解答,并且还准备很多学习资料,欢迎零基础的小伙伴来一起交流。

注意,使用while(true)会创建一个死循环,因为条件永远满足。

1

2

3

4

5

var i = 0;

while(i < 10){

    alert(i);

    i++;

}

这个例子初始化i=0,当i小于10时,都弹出i的值,会依次弹出0~9的数字。

6. do/while语句

do/while也是循环语句,它与while语句非常相似,唯一不同的是:它的条件判断语句是在循环体尾部的,这就意味着,不管条件成不成立,循环体都至少执行了一次。

do/while循环语句的语法如下:

1

2

3

do{

  statement

}while(expression);

注意:do/while循环式用分号结尾的。如果while语句的循环体使用花括号括起来,则可以不使用分号做结尾。

1

2

3

4

5

var i = 0;

do{

    alert(i);

    i++;

}while(i < 10);

这个例子,同样也是弹出0~9的数字。

7. for语句

for语句也是一种循环控制结构语句,它的语法如下:

1

2

3

for(initialize;test;increment){

    statement

}

initialize,test,increment三个表达式分别表示:初始化操作、循环条件判断和计数器变量更新。当条件满足时,执行statement。

注意,initialize可以同时声明并初始化一个计数变量。

将前面的while循环语句改成for循环语句,如下:

1

2

3

for(var i = 0; i < 10; i++){

  alert(i);

}

这个循环同样输出数字0~9.

此外,for语句中的初始化表达式、控制表达式和循环后表达式都是可选的。将这两个表达式全部省略,将会创建一个无限循环:

1

2

3

for(;;){

    statement

}

8. break语句和continue语句

break和continue语句都是一种跳转语句。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值