源码
<!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 = 1console.log(a+false); //false = 0console.log(a+null); //null = 0//计算两个数的差console.log(a-b); //-3console.log(str1-str2); //-55545console.log(str3-str4); // NaN: not a number//计算两个数的乘积console.log(a*b); //10console.log(a*str3); // NaN//计算两个数的商console.log(b/a); //2.5console.log(4/2); //2//计算两个数的余数console.log(12%7); //5console.log(3%7); //3console.log(-5%7); //-5console.log(-5%-7); //-5console.log(7%-5); //2console.log(-0%10); //-0console.log(0%10); //0// 变量原有的数值加上一个数再赋值给变量a += 8; //a=a+8console.log(a); //a=10a -= b; //a=a-b console.log(a); //a=5a *= b; //a=a*b console.log(a); //a=25a /= 0; console.log(a); //Infinity 无限a += 1; console.log(a); //Infinity a %=1;console.log(a); //NaN//自增 自减a = null ;a = 2;a++; //a =a+1console.log(a); //3a--; //a =a-1console.log(a); //2b = null;b=3;var ab =++b; //b=b+1 ab = bconsole.log(ab); //4console.log(b); //4var ba =b++; //ba = b b=b+1console.log(ba); //4console.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。