• JS 中加减运算转换规则


    +加 (以下的转化规则称作隐式转换)

    • 1、如果两边都是数字,则就是普通的数学计算

    • 2、如果有一边是字符串,则另一边也转成字符串,变成字符串的拼接

    • 3、如果没有字符串,则调用Number方法,转成数字,再进行相加

    • 4、如果有一边是对象,则对象调用toString得到字符串表示,再进行计算

     

    console.log(5 + '10'); // '510'
    console.log(5 + 10); // 15
    
    var a = 5;
    var b = 10;
    // console.log('5+10的和是15');
    console.log(a + '+' + b + '的和是' + a + b);
    console.log(a + '+' + b + '的和是' + (a + b));
    
    console.log(true + 1); // 2
    console.log(true + false); // 1
    console.log(true + ''); // 'true'
    console.log(false + null); // 0
    console.log(undefined + null); // NaN
    console.log(true + 'false'); // 'truefalse'
    console.log(true + [true]); // 'truetrue'

    -减 (以下的转化规则称作隐式转换){* / % 都一样}

    • 1、如果两边都是数字,则就是普通的数学计算

    • 2、如果两边有字符,会调用Number将其转化为数字进行计算

    • 3, 通过Number转换null 转化为0; undefined转化为NaN;

    console.log(100 - 10); // 90
    console.log(100 - 't'); // NaN
    console.log(100 - ''); // 100
    console.log(100 - true); // 99
    console.log(100 - '80'); // 20
    console.log(100 - null); // 100
    console.log(100 - undefined); // NaN
  • 相关阅读:
    树状数组
    LCA最近公共祖先
    ordered_set
    马拉车算法
    数论
    图论
    其他
    线段树
    序列自动机
    优先队列
  • 原文地址:https://www.cnblogs.com/ximenchuifa/p/13392468.html
Copyright © 2020-2023  润新知