• JS中的运算符&JS中的分支结构


    一、JS中的运算符
    1、算术运算(单目运算符)
         + 加、- 减、* 乘、/ 除、% 取余、++ 自增、-- 自减
         >>> +:有两种作用,连接字符串/加法运算。当+两边全为数字时,进行加法运算;
                    当+两边有任意一边为字符串时,起连接字符串的作用,连接之后的结果为字符串
                除+外,其余符号运算时,会先尝试将左右变量用Number函数转为数字                   
         >>> /: 结果会保留小数点 
         >>> ++: 自增运算符,将变量在原有基础上+1;
                 --: 自减运算符,将变量在原有基础上-1
    【a++和++a的异同】
    ① 相同点:无论a++还是++a,运算完后,a的值均会+1;
    ② 不同点:a++,先用a的值去运算,再把a+1;
       ++a,先把a+1,再用a+1以后的值去运算
    egvar a=3,b,c;
             b = a++ +2;//先用a运算,b=3+2,再把a+1,a=4
             c = ++a +2;//先把a+1,a=5 再用a+1以后的值去运算,c=5+2
     
    2、赋值运算
    = 赋值、 +=  -=  *=  /=  %=
    +=:a+=b;相当于a=a+b;但是,前者的运算效率要比后者快,所以推荐使用+=写法
      
    3、关系运算
    == 等于、===严格等于(全等)、!= 不等、!== 不全等、>、<、>=、<=
    >>> 关系运算符,运算之后的结果,只能是Boolean类型
    >>> 判断一个数字是否处于某个期间,必须用&&链接;
           10>a && a>0 √    10>a>0 ×
    >>> ===:严格等于;要求不但要类型相同,值也必须相同;类型不同,结果直接为false;类型相同,再进行下一步判断
            ==:等于。类型相同,与===效果一样;类型不同时,会先尝试用Number函数将两边转为数字再进行判断
                     但是,有个别特例,如:Null==false ×   Null==Undefined  √
                                                            NaN==NaN  ×
     
    4、条件运算符(多目运算)
    a>b?true:false
     有两个重要符号:?和:
    当?前面部分,运行结果为true时,执行:前面的代码;
    当?前面部分,运行结果为false时,执行:后面的代码;
     
    冒号两边可以为数值,则整个式子可用于赋值。var a=1>2?1:2;
    冒号两边可以为代码块,将直接执行代码。var a=1>2?alert(1):alert(2);
    多目运算符可以多层嵌套。  var a=1>2?alert(1):(1<2?4:5);
      
    5、位运算符、 逻辑运算符
    &、|、~     && 与、|| 或、! 非
      
    && 两边都成立,结果为true;
    || 两边有任意一边成立,结果为true
     
    6、运算符的优先级
    ()                    小括号最高
    !  ++  --          单目运算符
    *  /   %
    +  -
    >  <   >=  <=
    == !=
    &&                 与或同时存在时,&&比||高
    ||
    =  +=  -=  *=  /=  最低的是各种赋值
     
    eg:水仙花数
    <script type="text/javascript">
        var num=prompt("请输入一个三位正整数:");
        var a,b,c;
        a=parseInt(num/100);
        b=parseInt(num/10)%10;
        c=num%10;
        var sum=a*a*a+b*b*b+c*c*c;
        var result=sum == num?"是水仙花数":"不是水仙花数"
        alert("您输入的:"+result);
    </script>
    二、JS中的分支结构
    【if-else结构】
    1、结构的写法:
     if(判断条件){
     //条件为true时,执行if的{}
     }else{
     //条件为false时,执行else的{}
     }
    2、注意事项:
    ① else{}语句块,可以根据情况进行省略
    ② if和else后面的{}可以省略,但是省略{}后,if和else后面只能跟一条语句。
       (所以,并不建议省略{})
     
    3、if的()中的判断条件支持的情况:
    ① Boolean:true为真,false为假;
    ② String:   空字符串为假,所有非空字符串为真;
    ③ Number:   0为假,一切非0数字为真;
    ④ Null/Undefined/NaN:   全为假;
    ⑤ Object:   全为真
     
    【多重if、阶梯if结构】
    1、结构写法:
    if(条件一){
     //条件一成立,执行的操作
     }else if(条件二){
     //条件一不成立&&条件二成立,执行的操作
     }else{
     //上述所有条件都不成立时,执行的操作
     }
    2、多重if结构中,各个判断条件是互斥的,执行选择其中一条路执行。遇到正确选项,并执行完以后,直接跳出结构,不再判断后续分支
     
    【嵌套if结构】
    1、结构写法:
    if(条件一){
     // 条件一成立
     if(条件二){
     // 条件一成立&&条件二成立
     }else{
     // 条件一成立&&条件二不成立
     }
     }else{
     // 条件一不成立
     }
    2、在嵌套if结构中,如果省略{ },则else结构永远属于离它最近的一个if结构。
    3、嵌套结构可以多层嵌套,但是一般不推荐超过3层;能用多重if结构的一般不推荐使用
          嵌套if。
     
    【switch-case】
    1、结构写法:
     var num=5;
         switch (num-3){
             case 1:
                 document.write("第一个case");
                 break;
             case 2:
                 document.write("第二个case");
                 break;
             case 3:
                 document.write("第三个case");
                 break;
             default:
                 document.write("case都不成立,执行default");
                 break;
     }
            
    2、注意事项:
    ① switch结构()中的表达式,可以是各种js支持的数据类型;
    ② switch结构在进行判断的时候,使用===判断;
    ③ case后面的表达式可以是各种数据类型,但是值要求各不相同,否则也只会执行第一
        个case。
    break作用:执行完case代码后,跳出当前switch结构;
        缺少break后果:从第一个正确的case项开始,执行后面的所有case和default;
    switch结构在进行判断的时候,只会判断一次正确答案,当遇到正确的case后,将不
        会再判断后续的项目。
    ⑥ switch结构的执行效率要比多重if快。在多路分支结构中,推荐优先使用switch。
  • 相关阅读:
    010-spring事务管理
    009-事务管理
    008-ThreadLocal
    Bmob用户管理操作
    Textview下划线注册用户跳转实现
    Android中多个调用Activity的问题
    解决android:theme="@android:style/Theme.NoDisplay" 加入这句话后程序不能运行
    友盟自动更新
    友盟消息推送和更新XML配置
    Android 云服务器的搭建和友盟APP自动更新功能的实现
  • 原文地址:https://www.cnblogs.com/sin0/p/7401279.html
Copyright © 2020-2023  润新知