加法运算
格式: 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再进行运算,(加法以外)