美文网首页
JavaScript基本概念之操作符——加性操作符

JavaScript基本概念之操作符——加性操作符

作者: 胖胖冰 | 来源:发表于2017-05-18 15:17 被阅读19次

    加性操作符包括加法和减法。

    • 1. 加法
    var result = 1 + 2;
    

    如果两个操作数都是数值,执行常规计算:

    • 如果一个操作数是 NaN,则结果是 NaN;
    • 如果是 Infinity 加 Infinity,则结果是 Infinity;
    • 如果是 -Infinity 加 -Infinity,则结果是 -Infinity;
    • 如果是 Infinity 加 -Infinity,则结果是 NaN;
    • 如果是+0加+0,则结果是+0;
    • 如果是-0加-0,则结果是+0;
    • 如果是+0加-0,则结果是+0;

    不过,如果一个操作数是字符串,那么就要应用如下规则:

    • 如果两个操作数都是字符串,则将第二个操作数与第一个操作数拼接起来;
    • 如果只有一个操作数是字符串,则将另一个操作数转换为字符串,然后将两个字符串拼接起来。

    如果一个操作数是对象,数值或布尔值,则调用它们的toString()方法取得相应的字符串值,然后在应用前面关于字符串的规则。
    对于undefined和null,则分别调用Sring()函数并取得字符串"undefined"和"null"。

    var result1 = 5 + 5; //10
    var result2 = 5 + "5"; //55
    
    • 2. 减法
    var result = 2 - 1;
    

    如果两个操作数都是数值,执行常规计算:

    • 如果一个操作数是 NaN,则结果是 NaN;
    • 如果是 Infinity 减 Infinity,则结果是 NaN;
    • 如果是 -Infinity 减 -Infinity,则结果是 NaN;
    • 如果是 Infinity 减 -Infinity,则结果是 Infinity;
    • 如果是 -Infinity 减 Infinity,则结果是 -Infinity;
    • 如果是+0减+0,则结果是+0;
    • 如果是-0减+0,则结果是-0;
    • 如果是-0减-0,则结果是+0;
    • 如果一个操作数是字符串、布尔值、null或undefined,则先后台调用它们的Number()方法将其转换为数值,然后在根据前面的规则执行减法计算。如果转换结果是NaN,则减法的结果是NaN;
    • 如果有一个操作数是对象,则调用对象的valueOf()方法以取得表示该对象的数值。如果的得到的值是NaN,则减法结果是NaN。如果对象没有valueOf()方法,则调用其toString()方法并将得到的字符串转换为数值。
    var result1 = 5 - true; //4
    var result2 = NaN - 1; //NaN
    var result3 = 5 - 3; //2
    var result4 = 5 - " "; //5
    var result5 = 5 - "2"; //3
    var result6 = 5 - null; //5
    

    相关文章

      网友评论

          本文标题:JavaScript基本概念之操作符——加性操作符

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