JavaScript运算符

2018-08-30  本文已影响0人  INSO8

加法运算

    格式: Number1 + Number2;

    var res = 1 + 1;
    console.log(res); // 2

    var num1 = 10;
    var num2 = 20;
    var res2 = num1 + num2;
    console.log(res2); // 30

    1.非Number类型的值进行运算时,会将这些值转换为Number然后在运算

    var result = true + 1;
    console.log(result); // 2
    result = true + false;
    console.log(result); // 1
    result = 2 + null; 
    console.log(result);// 2

    2.任何值和NaN做运算都得NaN

    var result = 2 + NaN;
    console.log(result); //NaN

    3.任何的值和字符串做加法运算,都会先转换为字符串,然后再和字符串做拼串的操作

    var result = 1 + "123";
    console.log(result); // 1123
    result = 2 + "true";
    console.log(result); // 2true

减法运算

    格式: Number1 - Number2;

    var res = 1 - 1;
    console.log(res); // 0

    var num1 = 10;
    var num2 = 20;
    var res2 = num1 - num2;
    console.log(res2); // -10

    1.非Number类型的值进行运算时,会将这些值转换为Number然后在运算

    var result = true - 1;
    console.log(result); // 0
    result = true - false;
    console.log(result); // 1
    result = 2 - null;
    console.log(result);// 2

   2. 任何值和NaN做运算都得NaN

    var result = 2 - NaN;
    console.log(result); //NaN

    3.字符串做减法也会转换为Number

    var result = 2 - "1";
    console.log(result); // 1
    result = "2" - "1";
    console.log(result); // 1

乘法运算

    格式: Number1 * Number2;

    var res = 2 * 2;
    console.log(res); // 4

    var num1 = 10;
    var num2 = 20;
    var res2 = num1 * num2;
    console.log(res2); // 200
            1. 非Number类型的值进行运算时,会将这些值转换为Number然后在运算
            2.任何值和NaN做运算都得NaN
            3.字符串做乘法也会转换为Number
            注意:其它规律和减法一样

除法运算

    格式: Number1 / Number2;

    var res = 2 / 2;
    console.log(res); // 1

    var num1 = 10;
    var num2 = 20;
    var res2 = num1 / num2;
    console.log(res2); // 0.5

            1.非Number类型的值进行运算时,会将这些值转换为Number然后在运算
            2.任何值和NaN做运算都得NaN
            3.字符串做除法也会转换为Number
            注意:其它规律和减法一样

取余运算

    格式: Number1 % Number2;
    m%n 求余,相当于m/n 获取余数

    var res = 10 % 3;
    console.log(res); // 1

    var num1 = 10;
    var num2 = 2.5;
    var res2 = num1 % num2;
    console.log(res2); // 0

     规律
         n等于0 返回NaN
         m等于0 结果为0
         m>n 正常求余 如:8%3 = 2
         m<n 结果是m 如:2%4 = 2

        var result = 10 % 0;
        console.log(result); // NaN
        result = 0 % 10;
        console.log(result); // 0
        result = 2 % 10;
        console.log(result); // 2

            1.非Number类型的值进行运算时,会将这些值转换为Number然后在运算
            2.任何值和NaN做运算都得NaN
            3.字符串做取余也会转换为Number
            注意:其它规律和减法一样

正负运算符

        正号
        + 正号不会对数字产生任何影响

        var num = 123;
        num = +num;
        console.log(num); // 123

        1.对于非Number类型的值,会将先转换为Number,然后再运算

        var bool = true;
        var res = +bool;
        console.log(res); // 1

        var str = "123";
        res = +str;
        console.log(res); // 123

        var str2 = "123abc";
        res = +str2;
        console.log(res); // NaN, 所以内部不是调用parseInt, 而是Number()函数

        var temp = null;
        res = +temp;
        console.log(res); // 0

    负号
        - 负号可以对数字进行负号的取反

        var num = 123;
        num = -num;
        console.log(num); // -123

总结:非Number类型的值进行运算都会先自动转成Number然后再进行运算,跟NaN(非法数字)运算都会得出NaN结果,与字符串做运算也会先将字符串转成Number再进行运算,(加法以外)

上一篇 下一篇

猜你喜欢

热点阅读