JavaScript第三章 javascript语句

第三章 javascript语句

一.流程控制语句

1.分支语句:javascript支持的分支语句主要有if和switch语句。

a.if语句

<script>
    //*************简单if语句
    var a=3;
    if(a>2){
        document.write('条件成立!a>2 <br>');
    }
    //*************if...else语句
    var a=3;
    if(a==2){
        document.write('条件成立!a==2');
    }else{
        document.write('条件不成立!a==2 <br>');
    }
    //**********多重嵌套if...else语句
    var a=3;
    if(a<1){
        document.write('a<1')
    }else if(a==1){
        document.write('a==1')
    }else{
        document.write('a>1')
    }
</script>

b.switch语句

<script>
    var a=2;
    switch(a<=2){
        case(a==0):
            document.write('a==0');
            break;
        case(a==1):
            document.write('a==1');
            break;
        case(a==2):
            document.write('a==2');
            break;
        default:document.write('default相当于else');
    }
</script>


2.循环语句

javascript提供了丰富的循环语句支持,主要有while循环、do while循环、for循环、for in循环。

<script>
    //*******while循环
    var a=1;
    while(a<4){
        a++;
        document.write(a+'\n');
    }
</script>

<script>
    //*******do while循环
    var a=5;
    do{
        a++;
        document.write(a+'\n');
    }while(a<4)
</script>

注意:while循环和do while循环的区别:while先判断后执行、循环体语句可能一次都不执行,do while是先执行后判断,所以循环体语句至少执行一次。

<script>
    //********for循环
    //***************for的第一种情况:
    var a=3;
    for(var i=0;i<a;i++){
        document.write(i);//012
    }
    //i=0  0<3  打印0  i++之后 i=1
    //i=1  1<3  打印1  i++之后 i=2
    //i=2  2<3  打印2  i++之后 i=3
    //i=3  3<3 不成立即不打印  此时i=3    document.write('<br>'+i+'<br>');//因此打印出3
    //***********for的第二种情况:
    for(var i=0;i<5;++i){
        document.write(i);
    }
    document.write('<br>'+i+'<br>');
    //为什么这里无关i++或者++i呢?
    //原因是我们所说的赋值运算,是将一个值赋值给另一个值,然后再自身相加
    //而这里的i++==i=i+1==>i赋值给i,然后其自身再加1
    //因此不论是i++还是++i,其最终的结果都是i自加1,结果不变
    //*************for的第三种情况
    for(var i=10;i>0;i--){
        document.write(i);
    }
    document.write('<br>');
    for(var i=10;i>0;--i){
        document.write(i);
    }
</script>

注意:一般情况下,当循环次数确定的情况下使用for循环。相比while和do while语法更简洁。

<script>
    //*******for in循环:其主要有两个功能:遍历数组下标,遍历对象的属性
    var arr3=new Array();
    arr3[0]=1;arr3[1]='lcl';arr3[2]='true'; arr3[6]=1.2;
    for(var i in arr3){
        document.write(i+'.');
        document.write(arr3[i]+'<br>');
    }
</script>

<!--******************做一个小实例:9*9乘法表-->
<script>
//首先9*9乘法表你会想到什么?
//1*1=1  1*2=2  1*3=3 对不对?
//那怎么实现呢?首先来实现1*n的结果
for(var i=1;i<10;i++){
// document.write(i+'<br>');//此时就会打印出1-9
// 从以上可知,循环中的i1-9对不对?
document.write('1*'+i+'='+i+'&nbsp;&nbsp;'
//以上就已经实现了1*n的结果,下面来实现n*n
+'2*'+i+'='+2*i+'&nbsp;&nbsp;'
+'3*'+i+'='+3*i+'&nbsp;&nbsp;'
+'4*'+i+'='+4*i+'&nbsp;&nbsp;'
+'5*'+i+'='+5*i+'&nbsp;&nbsp;'
+'6*'+i+'='+6*i+'&nbsp;&nbsp;'
+'7*'+i+'='+7*i+'&nbsp;&nbsp;'
+'8*'+i+'='+8*i+'&nbsp;&nbsp;'
+'9*'+i+'='+9*i+'<br>'
//写到这里那就基本完成了9*9乘法表
//但是我们要注意:凡是代码都不能写死了,
//那么如何引入一个值来取代符号"1-9"提高代码利用率呢?
);
}
//************************进阶代码
for(var i=1;i<10;i++){
//先前我们就知道这里的i代表的是1-9for(var j=1;j<10;j++){
document.write(i+'*'+j+'='+i*j+'&nbsp;&nbsp;');
}
document.write('<br>');
}
//*****************稍微美观代码
for(var i=1;i<10;i++){
for(var j=1;j<i+1;j++){
document.write(i+'*'+j+'='+i*j+'&nbsp;&nbsp;');
}
document.write('<br>');
}
</script>

3.循环控制语句

javascript提供了break和continue来改变循环的控制流。

<script>
    //*******终止循环break
    var a=3;
    for(var i=0;i<a;i++){
        if(i==2){break;}
        document.write(i);
    }
</script>
<!--输出为:01-->
<script>
    //*******结束本次循环continue
    var a=5;
    for(var i=0;i<a;i++){
        if(i==3){continue;}
        document.write(i);
    }
</script>
<!--输出为:0124-->

二.常用特殊语句

1.语句块:所谓语句块,就是{}花括号包含的多条语句。

注意:该语句块中声明的变量,该变量的作用域并不是只在该语句块中。这一点区别于java。

javascript中作用域只分为两种:在函数中的局部变量,还有就是全局变量。

<script>
    {
        var a=1;
        var b=3;
        document.write(a+b);
    }
</script>

2.空语句

空语句一般用作没有循环体的循环,其目的就是为了给数组作初始化工作。

<script>
    {
        var arr3=new Array();
        for(var i=0;i<5;arr3[i++]=i+4);
        for(var index in arr3){
            document.write(index+'.');
            document.write(arr3[index]+'<br>');
        }
    }
</script>

3.异常捕捉/抛出语句

<script>
    try{
        var a=3;
        a++;
        if(a>3){
            throw new Error('a>3出现异常!');
        }
    }catch(e){
        document.write(e.message+'<br>');
    }finally{
        document.write('总会执行的语句!')
    }
</script>

注意:try用于监听一段代码是否出现异常, throw new Error支持手动抛出异常,一旦发生了异常,try就会把异常交给catch,catch会把异常封装在异常类对象e中。而finally是不管有没有异常都会执行的一个语句块。

注意:在javascript中只能有一重catch,这区别于java。输出错误类信息是e.message而不是getmessage()方法。

4.with语句

with语句是用于避免重复书写,减少代码量。

<script>
    with(document){
        write('a');
        write('a');
        write('a');
    }
</script>

















  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值