源码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
//两个数的和及字符串的拼接
var a = 2;
var b = 5;
var c;
c = a+b+a;
console.log(c);
var str1 = '12345';
var str2 = '67890';
var str3 = 'hello';
var str4 = 'word';
console.log(str1+str2)
console.log(a+str1);
console.log(a+true); //true = 1
console.log(a+false); //false = 0
console.log(a+null); //null = 0
//计算两个数的差
console.log(a-b); //-3
console.log(str1-str2); //-55545
console.log(str3-str4); // NaN: not a number
//计算两个数的乘积
console.log(a*b); //10
console.log(a*str3); // NaN
//计算两个数的商
console.log(b/a); //2.5
console.log(4/2); //2
//计算两个数的余数
console.log(12%7); //5
console.log(3%7); //3
console.log(-5%7); //-5
console.log(-5%-7); //-5
console.log(7%-5); //2
console.log(-0%10); //-0
console.log(0%10); //0
// 变量原有的数值加上一个数再赋值给变量
a += 8; //a=a+8
console.log(a); //a=10
a -= b; //a=a-b
console.log(a); //a=5
a *= b; //a=a*b
console.log(a); //a=25
a /= 0;
console.log(a); //Infinity 无限
a += 1;
console.log(a); //Infinity
a %=1;
console.log(a); //NaN
//自增 自减
a = null ;
a = 2;
a++; //a =a+1
console.log(a); //3
a--; //a =a-1
console.log(a); //2
b = null;
b=3;
var ab =++b; //b=b+1 ab = b
console.log(ab); //4
console.log(b); //4
var ba =b++; //ba = b b=b+1
console.log(ba); //4
console.log(b); //5
</script>
</body>
</html>
控制台输出
数字运算
-
加法:
c = a + b + a;
将变量a
和b
的值相加,然后再加上a
的值,结果赋给变量c
。console.log(str1 + str2)
将字符串str1
和str2
拼接起来。console.log(a + str1);
将数字a
和字符串str1
相加,由于a
是数字,JavaScript会尝试将str1
转换为数字,如果失败则直接拼接。console.log(a + true);
true
在JavaScript中被当作数字1。console.log(a + false);
false
在JavaScript中被当作数字0。console.log(a + null);
null
在JavaScript中被当作数字0。
-
减法:
console.log(a - b);
计算a
和b
的差。console.log(str1 - str2);
尝试将两个字符串转换为数字并相减,如果失败则返回NaN
。console.log(str3 - str4);
由于两个字符串不能直接相减,返回NaN
。
-
乘法:
console.log(a * b);
计算a
和b
的乘积。console.log(a * str3);
尝试将数字a
与字符串str3
相乘,返回NaN
。
-
除法:
console.log(b / a);
计算b
除以a
的结果。console.log(4 / 2);
计算4除以2的结果。
-
余数:
console.log(12 % 7);
计算12除以7的余数。console.log(3 % 7);
计算3除以7的余数。console.log(-5 % 7);
负数的余数运算结果也是负数。console.log(-5 % -7);
负数的余数运算结果也是负数。console.log(7 % -5);
正数除以负数的余数是正数。console.log(-0 % 10);
-0
在JavaScript中是一个特殊的值,表示负零。console.log(0 % 10);
0除以任何非零数的余数都是0。
赋值运算符
-
累加:
a += 8;
等同于a = a + 8;
,将a
的值加上8。
-
累减:
a -= b;
等同于a = a - b;
,将a
的值减去b
。
-
累乘:
a *= b;
等同于a = a * b;
,将a
的值乘以b
。
-
累除:
a /= 0;
尝试除以0会导致Infinity
或NaN
,这里a
的值变为Infinity
。
-
自增和自减:
a++;
等同于a = a + 1;
,但先返回a
的值,然后a
的值增加1。a--;
等同于a = a - 1;
,但先返回a
的值,然后a
的值减少1。
-
前缀自增和自减:
ab = ++b;
等同于b = b + 1;
,然后返回b
的新值。ba = b++;
等同于ba = b;
,然后b
的值增加1。