欢迎您, 来到 宁时修博客.^_^

前端----JavaScript系列_02

2017/10/23 林木立 javascript 977
JavaScript系列

一、运算符

    (1) 概览

算术运算符:
    +   -    *    /     %       ++        -- 

比较运算符:
    >   >=   <    <=    !=    ==    ===   !==

逻辑运算符:
     &&   ||   !

赋值运算符:
    =  +=   -=  *=   /=

字符串运算符:
    +  连接,两边操作数有一个或两个是字符串就做连接运算

    

    (2)算术运算符

    注意点1:自加自减

    var x=2;
    x++  ---> x=x+1 最后x的值为3
    x--  ---> x=x-1 最后x的值为1

    递增和递减运算符可以放在变量前也可以放在变量后:--i

    i++  ---> i=i+1  先赋值再计算    
    ++i  ---> i=i+1  先计算再赋值

    例子:用console.log命令在浏览器显示结果

    var i=10;
    console.log(i++);
    console.log(i);
    console.log(++i);
    console.log(i);
    console.log(i--);
    console.log(--i);

    浏览器查看:

     image.png


    注意点2:单元运算符

    - 除了可以表示减号还可以表示负号  例如:x=-y    
     
    + 除了可以表示加法运算还可以用于字符串的连接  例如:"abc"+"def"="abcdef"

    

    注意点3:NaN

    var d="yuan";    
    d=+d;
    alert(d);          //NaN:属于Number类型的一个特殊值,当遇到将字符串转成数字无效时,就会得到一个NaN数据
    alert(typeof(d));  //Number
    
    //NaN特点:  
    var n=NaN; 
    alert(n>3);
    alert(n<3);
    alert(n==3);
    alert(n==NaN);
    
    alert(n!=NaN);    //NaN参与的所有的运算都是false,除了!=


    (3)比较运算符

    常用于控制语句中:

    if (2>1) {    
        console.log("条件成立!")
    }

    等号和非等号的同类运算符是全等号和非全等号。

    这两个运算符所做的与等号和非等号相同,只是它们在检查相等性前,不执行类型转换。

    例:

    console.log(2==2);    
    console.log(2=="2");
    console.log(2==="2");
    console.log(2!=="2");

    image.png


    注意1:        

        比较运算符两侧如果一个是数字类型,一个是其他类型,会将其类型转换成数字类型。

        比较运算符两侧如果都是字符串类型,比较的是最高位的asc码,如果最高位相等,继续取第二位比较。


    注意2:

    等性运算符:执行类型转换的规则如下:

        如果一个运算数是 Boolean 值,在检查相等性之前,把它转换成数字值。false 转换成 0,true 为 1。 

        如果一个运算数是字符串,另一个是数字,在检查相等性之前,要尝试把字符串转换成数字。 

        如果一个运算数是对象,另一个是字符串,在检查相等性之前,要尝试把对象转换成字符串。 

        如果一个运算数是对象,另一个是数字,在检查相等性之前,要尝试把对象转换成数字。

 

    在比较时,该运算符还遵守下列规则:

        值 null 和 undefined 相等。 

        在检查相等性时,不能把 null 和 undefined 转换成其他值。 

        如果某个运算数是 NaN,等号将返回 false,非等号将返回 true。 

        如果两个运算数都是对象,那么比较的是它们的引用值。如果两个运算数指向同一对象,那么等号返回 true,否则两个运算数不等。


    (4)逻辑运算符

    &&  与  (x < 10 && y > 1) 为 true    
    ||  或  (x==5 || y==5) 为 false
    !   非

    

二、流程控制   

    顺序结构(从上向下顺序执行)

    分支结构

    循环结构

    

    (1)顺序结构

        就是js代码按照从前到后顺序执行:

    <script>    
        console.log("星期一");
        console.log("星期二");
        console.log("星期三");
    </script>

       image.png 


    (2)分支结构

        ① if .. else .. 结构

    if (表达式) {
       语句1;
    } else {
       语句2;
    }

     说明:如果表达式的值为true则执行语句1,否则执行语句2。


        示例:

  <script>
    if (10>5) {
        console.log("10大于5")
    } else {
        console.log("10小于5")
    }
  </script>

        结果:

        image.png


        ②if .. else if .. else .. 结构

    if (表达式1) {
      语句1;
    } else if (表达式2) {
      语句2;
    } else {
      语句3;
    }

        说明:如果表达式1成立则执行语句1,否则判断表达式2是否成立执行语句2,若表达式1和2都不成立,才执行语句3。


        示例:

    var num=76;
    if (num>90) {
        console.log("优秀")
    }
    else if (num>80) {
        console.log("凑合")
    }
    else {
        console.log("挺好的")
    }

        结果:

        image.png

    

        ③switch .. case .. 结构

    scitch (表达式) {    
        case 值1;语句1;break;
        case 值2;语句2;break;
        case 值3;语句3;break;
        default:语句4;
    }

        222.png


        示例:

    <script>
        var x=5;
        switch (x) {
            case 1:console.log("星期一");break;
            case 2:console.log("星期二");break;
            case 3:console.log("星期三");break;
            case 4:console.log("星期四");break;
            case 5:console.log("星期五");break;
            case 6:console.log("星期六");break;
            case 7:console.log("星期日");break;
            default:console.log("未定义");
        }
    </script>

        switch比if .. else if ..结构更加简洁清晰,使程序可读性更强,效率更高。

        结果:

        image.png


    (3) 循环结构

        ①for 循环

        语法规则:

    for (初始表达式;条件表达式;自增或自减) {
        执行语句
    }

         说明:实现条件循环,当条件成立时,执行语句,否则跳出循环体。

         示例:

    for (var i=0;i<10;i++) {
        console.log(i)
    }

        结果:

        image.png


       ②for循环的另一种形式

        语法规则:

    for (变量 in 数组或对象) {
        执行语句
    }

         示例:

    var arr=[11,22,33,44,55,66,77,88];
    for (var i in arr) {
    
        console.log(i,arr[i])
    }

        结果:

        image.png


        ③while循环

        语法规则:

    while (条件) {
        语句
    }

        说明:运行功能和for类似,当条件成立循环执行语句花括号{}内的语句,否则跳出循环;同样支持continue与break语句。

        

        示例:

    <script>    
        var count=0;
        while (count<10) {
            console.log(count);
            count++;
        }
    </script>

        结果:

        image.png


    

    (4) 异常处理

        语法规则:

    try {    
        // 这段代码从上往下运行,其中任何一个语句抛出异常该代码块就结束运行
    }
    catch (e) {
        // 如果try代码块中抛出了异常,catch代码块中的代码就会被执行。
        // e是一个局部变量,用来指向Error对象或者其他抛出的对象
    }
    finally {
        // 无论try中代码是否有异常抛出(甚至是try代码块中有return语句),finally代码块中始终会被执行。
    }

        注:主动抛出异常 throw Error('xxxx')



点赞
说说你的看法

所有评论: (0)

# 加入组织

1、用手机QQ扫左侧二维码

2、搜Q群:1058582137

3、点击 宁时修博客交流群