美文网首页
04-JavaScript运算符

04-JavaScript运算符

作者: 喝酸奶要舔盖__ | 来源:发表于2018-11-05 09:21 被阅读0次

    算术运算符

    • 和C语言不同的是JavaScript中整数除以整数如果不能整除结果是小数
    var res4 = 10 / 3;
    console.log(res4); // 3.3333
    
    • 任何值和NaN做运算都得NaN
    var result = 2 + NaN;
    console.log(result); //NaN
    
    • 参与运算的不是Number类型, 会先转换为Number类型后再运算
        var res4 = 3 * false;
        console.log(res4);
    
        var res5 = 2 * null;
        console.log(res5);
    
    • 只有加法连接字符串才会转换为字符串, - * / %都会转换为Number
    • 对于取模运算m%n, m小于n, 结果就是m; 如果m等于0, 结果就是0, 如果n等于0, 结果就是NaN
    var res7 = 10 % 0;
    console.log(res7);
    

    关系运算符

    • == 判断左右两侧的值是否相等
      === 除了需要判断左右两侧的值是相等以外, 还会判断类型是否相等
        var num1 = 123;
        var num2 = "123";
        console.log(num1 == num2);//true
        console.log(num1 === num2);//false
    
    • 对于非Number类型的数据, 会先转换为Number类型之后再比较
    • 对于null和undefined来说, 虽然null转换为Number之后是0, undefined转换为Number之后是NaN, 但是再和0做==比较的时候, 会返回false
        var res = 0 == null;
        console.log(res);//false
        var res2 = 0 == undefined;
        console.log(res2);//false
    
    • 千万不要用其它值和NaN进行==比较, 也不要让两个NaN之间进行比较
      判断是否属于NaN可以使用isNaN()函数
        var num = 666;
        var res = isNaN(num);
        console.log(res);//false
    
        var num2 = NaN;
        var res2 = isNaN(num2);
        console.log(res2);//true
    

    逻辑运算符

    • 对于非Boolean类型的数据, 会先转换为Boolean类型之后再判断
      判断之后的返回值, 逻辑与和逻辑或都有自己的规则
        var res = 10 && true;
        console.log(res);
    
        var res1 = 0 && true;
        console.log(res1);
    
        var res2 = 1 || 0;
        console.log(res2);
    

    相关文章

      网友评论

          本文标题:04-JavaScript运算符

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