JS操作符

第3章 操作符

表达式:值和操作符,运算会有一个结果;

同时,表达式中的每个数值,又称为 子表达式

3.1 算术运算符

+  -  *  /  %  


3.2 一元运算符

一元运算符:只有一个操作数的运算符

5 + 6 两个操作数的运算符 二元运算符

++ 自身加1

-- 自身减1

  • 前置++

    var num1 = 5;
    ++ num1; 
    var num2 = 6;
    console.log(num1 + ++ num2) ; //13
  • 后置++

    var num1 = 5;
    num1 ++;    
    var num2 = 6 
    console.log(num1 + num2 ++); //12
  • 猜猜看

    
    var a = 1; 
    var b = ++a + ++a;    //2+3
    console.log(b); //5
    
    var a = 1; 
    var b = a++ + ++a;   //1+3
    console.log(b);//4
    
    var a = 1; 
    var b = a++ + a++;   //1+2
    // console.log(b);  // 3
    
    var a = 1; 
    var b = ++a + a++;  //2+2
    console.log(b);//4

    总结

    前置++:先加1,后参与运算

    后置++:先参与运算,后加1;后++ 有两个运行条件,满足其一则执行 表达式没有结束但是又被使用了,表达式结束了;

    上面两个理解后,下面两个自通

    前置-- :先减1,后参与运算

    后置-- :先参与运算,后减1

        //前置--
        var d1 = 5;
        --d1;  //4
        var d2 = 5;
        console.log(d1 + --d2);  //8
    
        //后置--
        var m1 = 5;
        m1--;  //4
        var m2 = 5;
        console.log(m1 + m2--);  //9

3.3 逻辑运算符(布尔运算符)

&& 与 两个操作数同时为true,结果为true,否则都是false
|| 或 两个操作数有一个为true,结果为true,否则为false
!  非  取反

3.4 关系运算符(比较运算符)

<   >   >=   <=   ==   !=   ===   !==


==  === 的区别:== 只进行值得比较,=== 类型和值同时相等,则相等
var result = '55' == 55;    // true
var result = '55' === 55;   // false 值相等,类型不相等
var result = 55 === 55;     // true

3.5 赋值运算符

= += -= *= /= %=

例如:
var num = 0;
num += 5;   //相当于  num = num + 5;

3.6 运算符的优先级

优先级从高到底
1. ()  优先级最高
2. 一元运算符  ++   --   !
3. 算数运算符  *  /  %   后 +   -
4. 关系运算符  >   >=   <   <=
5. 相等运算符  ==   !=    ===    !==
6. 逻辑运算符  &&   ||
7. 赋值运算符  =
// 练习1:
var s = 4 >= 6 || '人' != '程序员' && !(12 * 2 == 144) && true
console.log(s); //true

// 练习2:
var num = 10;
var f = 5 == num / 2 && (2 + 2 * num)
console.log(f.toString() === 22) //false


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章