1. 程式人生 > 實用技巧 >JS 中加減運算轉換規則

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