美文网首页
JS-运算符

JS-运算符

作者: 远方的路_ | 来源:发表于2018-11-07 02:12 被阅读0次

    JS的算术运算符

    • JavaScript的算数运算和C语言几乎一样
      与C语言不同的是: 在JavaScript中整数除以整数可以得到一个小数

    • JavaScript特有的特点:

      1. 任何值和NaN运算, 得到的结果都是NaN

      2. 任何值和字符串进行加法运算, 都会先转换为字符串之后再运算

      3. 其它运算符, 如果参与运算的不是Number类型, 会先转换为Number类型后再运算

      4. 只有加法才会转换为字符串, - * / %都会转换为 Number类型

      5. 对于取摩运算m%n, m小于n, 结果就是m; 如果m等于0, 结果就是0, 如果n等于0, 结果就是NaN

    <script>
    //"123" + "abc" --> "123abc" -- >相当于C语言中的字符串拼接
    var res = 123 + "abc";
    console.log(res);
    </script>
    

    JS的赋值运算符

    • JavaScript中的赋值运算符和C语言一样
    var num = 1; // 将等号右边的值, 放到等号左边的变量的存储空间中
    console.log(num); // 1
    num += 1; // num = num + 1; 2
    console.log(num);
    num -= 1; // num = num - 1; 1
    console.log(num);
    num *= 2; // num = num * 2; 2
    console.log(num);
    num /= 2; // num = num / 2; 1
    console.log(num);
    num %= 2; // num = num % 2; 1
    console.log(num);
    

    JS中的自增自减运算符

    • JavaScript中的自增自减运算符和C语言一样
      也分为前置和后置
      写到前面就是先自增或者自减, 然后再参与其它运算
      写到后面就是先参与其它运算, 然后再自增或者自减
    var num = 1;
        //      2    +   2
    var res1 = ++num + num++;
        //      2    +   3
    var res2 = ++num + ++num;
    console.log(res1); // 4
    console.log(res2); // 5
    

    JS中的关系运算符

    • JavaScript中的关系运算符和C语言几乎一样
      不一样的是新增了 === / !==

    • JavaScript中特有的特性:

      1. 对于非Number类型的数据, 会先转换为Number类型之后再比较

      2. 对于null和undefined来说, 虽然null转换为Number之后是0, undefined转换为Number之后是NaN, 但是再和0做==比较的时候, 会返回false

      3. 对于null和undefined来说, undefined的值实际上是由null值衍生出来的,所以如果比较undefined和null是否相等,会返回true

      4. 千万不要用其它值和NaN进行 == 比较, 也不要让两个NaN之间进行比较(用 isNaN 函数)

      isNaN函数的作用, 就是判断传入的值, 是否是NaN,如果是就返回true, 如果不是就返回false

    == 判断左右两侧的值是否相等
    === 除了需要判断左右两侧的值是相等以外, 还会判断类型是否相等
    != 判断内容是否不同
    !== 判断内容和类型是否不同

    var res1 = 123 != NaN; // 不推荐的写法
    console.log(res1);
    var res2 = NaN == NaN; // 不推荐的写法
    console.log(res2); // false
    
    // isNaN函数的作用, 就是判断传入的值, 是否是NaN,
    // 如果是就返回true, 如果不是就返回false
    var num1 = NaN;
    var num2 = 123;
    var res1 = isNaN(num1);
    console.log(res1); // true
    var res2 = isNaN(num2);
    console.log(res2); // false
    

    JS中的逻辑运算符

    • JavaScript中的逻辑运算符和C语言几乎一样
      && 一假则假
      | | 一真则真
      ! 真变假 假变真

    • JavaScript中特有的特性:

      1. 对于非Boolean类型的数据, 会先转换为Boolean类型之后再判断

      2. 对于逻辑&&来说:
        条件A && 添加B;
        如果条件A不成立, 那么就返回条件A
        如果条件A成立, 不管条件B是否成立, 都会返回条件B

      3. 对于逻辑||来说:
        条件A || 添加B;
        如果条件A成立, 那么就返回条件A
        如果条件A不成立, 那么不管条件B是否成立, 都会返回条件B

    注意点:

    • 对于非Boolean类型的数据, 会先转换为Boolean类型之后再判断
    • 判断之后的返回值, 逻辑与和逻辑或都有自己的规则
    <script>
    //       条件A不成立
    var res1 = 0 && 1;
    console.log(res1); // 0
    var res2 = 1 && 6;
    console.log(res2); // 6
    var res3 = 1 && 0;
    console.log(res3); // 0
    
    var res1 = 1 || 6; // 1 --> true
    console.log(res1); // 1
    var res2 = 0 || 6;
    console.log(res2); // 6
    </script>
    

    JS中的逗号运算符

    • JavaScript中的逗号运算符和C语言一样
      • C语言中逗号运算符的应用场景, 一般用于同时定义多个变量

      • C语言中逗号运算符也是一个运算符, 只要是运算符都有运算的结果
        逗号运算符的结果就是最后一个表达式的结果
        企业开发一般用不上

    var a, b, c;
    a = 10;
    b = 20;
    c = 30;
    console.log(a); // 10
    console.log(b); // 20
    console.log(c); // 30
    
    var res = (1 + 1, 2 + 3, 3 + 3);
    console.log(res); // 6
    

    JS中的三目运算符

    • JavaScript中的三目运算符和C语言一样

      条件表达式 ? 结果A : 结果B;

    var res = 10 > 15 ? 10 : 15;
    console.log(res); // 15
    

    相关文章

      网友评论

          本文标题:JS-运算符

          本文链接:https://www.haomeiwen.com/subject/yvfmxqtx.html