js操作符

window.onload = function(){
    // 1. 递增和递减操作符
        //前置型
    var age = 29;
    var anotherage = ++age + 2;
    console.log(age); // 30 前置型:变量的值再语句被执行前改变了
    console.log(anotherage); // 32

        //后置型
    var num1 = 2;
    var num2 = 20;
    var num3 = num1-- + num2;
    var num4 = num1 + num2;
    console.log(num3); // 22 后置型:变量的值再语句执行之后再改变
    console.log(num4); // 21

    // 2. 一元加减操作符
    // 一元加操作符放在数值前面不会对数值产生影响,放在非数值前面,该操作符会执行number()函数对该值进行转换

    // 3. Boolean操作符
        // 逻辑非 !
        // 逻辑与 有false返回false
        /*
        规则:
        1.如果第一个操作数时对象,则返回第二个数
        2.如果第二个数是对象,则只有在第一个操作数求值为true时返回该对象
        3.两个操作数都是对象,返回第二个操作数
        4.第一个操作数是null,NaN,undefined,则返回null,NaN,undefied 
         */
            var found = true; // 如果为false则下面所有语句都会执行
            var result = (found && someUndefinedValue); // 报错
            console.log(result); // 不会执行该语句
        // 逻辑或 有true返回true
        /*
        规则:
        1.如果第一个操作数是对象,则返回第一个操作数
        2.如果第一个操作数的求值结果为false,则返回第二个操作数
        3.如果两个草所属都是对象,则返回第一个操作数
        4.如果两个操作数都是null,NaN,undefined,则返回null,NaN,undefined 
         */
        var myObject = preferredObject || backupObject // 利用逻辑或完成赋值操作

    // 3.乘法,除法,求模,如果有操作数不是数值,则会调用number()函数转换再求值

    // 4.加法如果有操作数是字符串
    /*
    规则:
    1.如果两个操作数都死字符串,则将两个字符串拼接起来
    2.如果只有一个字符串,则将另一个转换为字符串再拼接起来 
     */
    //5.减法如果有字符串
    /*
    规则:
    如果有一个操作数是字符串,Boolean,null,undefined,则调用它们的number()函数转换后再求值 
     */


     //6.关系运算符
     var result = "23" < "3"; // true
     var result = "23" < 3; //false 转换为数字
     var result = "a" < 3; // false a转换为nan,任何操作符与nan相比都返回false

     // 相等和全等
     null == undefined

}
posted @ 2020-09-08 21:33  徐的小博客  阅读(175)  评论(0编辑  收藏  举报