• JS运算符


    一、赋值运算符     

       = 将右边的值赋给左边变量 

    二、算数运算符

      +  -  *  /  %  加 减 乘 除 取余

    三、符合运算符

      +=  -=  *=  /=  %=

    四、自增或自减运算符

      ++ -- 变量的自增和自减指的是在自身基础上进行 +1或-1 的操作

    注意:

      自增或自减运算符在单独与变量结合时,放前和放后没有区别(b++;++b;)

      如果自增或自减运算符与其他运算符结合使用,要区分前缀和后缀,做前缀,那就先++/--,再进行赋值或其他运算,如果做后缀,就先结合其他运算符,再进行++ / --

    var s = true;
    s++;
    console.log(s,typeof s)        //2 Number

    var n =5; var r =n++ + ++n + n++ + ++n +n; //5+ 7+ 7+ 9+ 9 //分解 var r1=n++; //r1=5 n=6 var r2=++n; //r2=7 n=7 var r3=n++; //r3=7 n=8 var r4=++n; //r4=9 n=9 var r5=+n; //r5=9 n=9

    五、关系运算符/比较运算符

      > < 

      >= <=

      ==(相等) !=(不相等)

      ===(全等) !==(不全等)

    (1)关系运算符用来判断表达式之间的关系,结果永远是布尔值 true/false

    (2)使用

      字符串与字符串之间的比较

      依次比较每位字符的Unicode码,只要某位字符比较出结果,就返回最终结果

      其他情况

      一律将操作数转换为number进行数值比较,如果某一操作数无法转换number,则变成NaN参与比较运算,结果永远是false

    var res1=10>2;
    var res2='10'>'2';                    //'1'>'2'
    var res3 = '人生苦短'>'我学Python';     //'人'>'我';
    console.log(res1,res2,res3)           //true false false
    var s1 = '人';
    var s2 = '我';
    //获取字符的 Unicode编码charCodeAt(index)
    console.log(s1.charCodeAt(),s2.charCodeAt(),res3)//20154 25105 false
    
    var res4 = '10'>2;
    var res5 = '10'>true;            //10>1
    var res6 = true > false;         //1>0
    console.log(res4,res5,res6)      //true true true
    
    var res7 = '10'>undefined;       //10>NaN  false
    var res8 = '10'>null;            //10>0
    var res9 = 'true' > false;       //NaN>0
    console.log(res7,res8,res9)      //false true false

    (3)相等与全等

      相等 : 不考虑数据类型,只做值的比较(包含自动类型转换)

      全等 : 不会进行数据类型转换,要求数据类型一致并且值相等才判断全等

    var r1 = 10=='10';
    var r2 = 10==='10';
    console.log(r1,r2);    //true false

    六、逻辑运算符 

    1.&& 逻辑与:表达式同时成立,最终结果才为true;全1则1

    2.|| 逻辑或:表达式中只要有一个成立,最终结果即为true; 有1则1

    //给出闰年判断的条件 能被4整除,不能被100整除,或者被400整除
    var year=2015;
    var r=year%4==0&&year%100!==0 ||year%400==0;
    console.log(typeof year,r)        

    //"number" false

    3.! 逻辑非:对已有表达式的结果取反

    注意 : 除零值以外,所有值都为真

    var r1 = !5;         //false
    //逻辑非的优先级高于关系运算
    var r2 = !5<3;        //true  false<3
    console.log(r1,r2)    //false true

    七、三目运算符

    语法 :表达式1 ? 表达式2 : 表达式3;

    过程 :

      判断表达式1是否成立,返回布尔值

      如果表达式1成立,执行表达式2;

      如果表达式1不成立,执行表达式3;

    var a = 10;
    if (a>5){
        console.log('成立');    //成立
    }else{
        console.log('不成立');
    }
    var res=a>5?'ok':'error';
    console.log(res)    //ok
    a = 3;
    var res2 = a>5?'ok':a>=3?'>=3':'<3';
    console.log(res2)    //>=3
     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>Title</title>
     6     <script>
     7         /*
     8         接收用户输入的身高(m)和体重(kg)
     9         计算BMI=体重/(身高*身高)
    10         对bmi保留一位小数
    11         并且判断身体质数:
    12         bmi<18.5 '瘦'
    13         18.5<bmi<23.9 健康
    14         bmi>23.9 肥胖
    15         */
    16         var m=prompt('请输入身高');
    17         var kg=prompt('请输入体重');
    18         bmi=kg/(m*m);
    19         b=bmi.toFixed(1);
    20         var res=bmi>=23.9?'肥胖':bmi=<18.5?'瘦':'健康';
    21         console.log(b,res);
    22     </script>
    23 </head>
    24 <body>
    25     <p>prompt('请输入身高')<input type="text"></p>
    26 </body>
    27 </html>
    示例练习
  • 相关阅读:
    Java调用R环境配置问题:Cannot find JRI native library!
    在odoo 10.0配置文件中修改ip地址
    WordPress国外开源主题Enigma h1、h2、h3……标题不显示的解决办法
    ubuntu下编译为知笔记
    ubuntu linux 使用什么下载工具
    通过修改qt设置,解决LINK : fatal error LNK1104: 无法打开文件“kernel32.lib”
    [DONE]ReferenceError: WebSocket is not defined pomelo
    [DONE]pomelo npm-install 出现 AttributeError: 'module' object has no attribute 'script_main'
    finished running <my app>” on the targeted device
    c++中64位int与字符串的转换
  • 原文地址:https://www.cnblogs.com/maplethefox/p/11216381.html
Copyright © 2020-2023  润新知