美文网首页
5. 从头学前端之操作符

5. 从头学前端之操作符

作者: 我的昵称好听吗 | 来源:发表于2019-08-05 10:27 被阅读0次

    操作符包括算术操作符(如加号和减号)、位操作符、关系操作符和相等操作符。

    一元操作符

    只能操作一个值的操作符叫做一元操作符

    1. 递增和递减操作符

    递增和递减操作符包括前置型后置型;

    • 前置型递增操作符:
    var age = 29; 
    ++age; 
    
    • 前置型递减操作符:
    var age = 29; 
    --age; 
    

    由于前置递增和递减操作与执行语句的优先级相等,因此整个语句会从左至右被求值。

    var num1 = 2; 
    var num2 = 20; 
    var num3 = --num1 + num2; // 等于 21 
    var num4 = num1 + num2; // 等于 21 
    
    • 后置型递增操作符:
    var age = 29; 
    age--; 
    
    • 后置型递增操作符:
    var age = 29; 
    age++; 
    

    后置递增和递减与前置递增和递减有一个非常重要的区别,即递增和递减操作是在包含它们的语句被求值之后才执行的

    var num2 = 20; 
    var num3 = num1-- + num2; // 等于 22 
    var num4 = num1 + num2; // 等于 21 
    

    2. 一元加和减操作符

    一元加操作符以一个加号(+)表示,放在数值前面,对数值不会产生任何影响,
    如下面的例子所示:

    var num = 25; 
    num = +num; // 仍然是 25 
    

    在对非数值应用一元加操作符时,该操作符会像 Number()转型函数一样对这个值执行转换。布尔值 false 和 true 将被转换为 0 和 1,字符串值会被按照一组特殊的规则进行解析,而对象是先调用它们的 valueOf()和(或)toString()方法,再转换得到的值。

    var s1 = "01"; 
    var s2 = "1.1"; 
    var s3 = "z"; 
    var b = false; 
    var f = 1.1; 
    var o = { 
     valueOf: function() { 
     return -1; 
     } 
    }; 
    s1 = +s1; // 值变成数值 1 
    s2 = +s2; // 值变成数值 1.1 
    s3 = +s3; // 值变成 NaN 
    b = +b; // 值变成数值 0 
    f = +f; // 值未变,仍然是 1.1 
    o = +o; // 值变成数值-1
    

    一元减操作符主要用于表示负数,例如将 1 转换成-1:

    var num = 25; 
    num = -num; // 变成了-25
    

    在将一元减操作符应用于数值时,该值会变成负数(如上面的例子所示)。而当应用于非数值时,一元减操作符遵循与一元加操作符相同的规则,最后再将得到的数值转换为负数,如下面的例子所示:

    var s1 = "01"; 
    var s2 = "1.1"; 
    var s3 = "z"; 
    var b = false; 
    var f = 1.1; 
    var o = { 
     valueOf: function() { 
     return -1; 
     } 
    }; 
    s1 = -s1; // 值变成了数值-1 
    s2 = -s2; // 值变成了数值-1.1 
    s3 = -s3; // 值变成了 NaN 
    b = -b; // 值变成了数值 0 
    f = -f; // 变成了-1.1 
    o = -o; // 值变成了数值 1 
    

    相关文章

      网友评论

          本文标题:5. 从头学前端之操作符

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