+加 (以下的转化规则称作隐式转换)
-
1、如果两边都是数字,则就是普通的数学计算
-
2、如果有一边是字符串,则另一边也转成字符串,变成字符串的拼接
-
3、如果没有字符串,则调用Number方法,转成数字,再进行相加
-
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