js算数运算符
运算符也叫操作符,通过对一个值或者多个值进行运算,然后返回一个结果。
比如:typeof就是一个运算符,可以获得一个值得类型,
//typeof 检测出a 的数值类型
var a = 123
var result =typeof a
console.log(result)
//但是用来描述数值的result为字符串,是因为typeof以字符串的形式返回
console.log(typeof result)
结果:
算术运算符
当对非Number值进行计算时,都会将值转换为Number进行计算。任何值与NaN进行运算时,结果都是NaN。
+ : + 可以对俩个值进行加法,
- 如果当俩个字符串进行+运算时,字符串会进行拼串;
- 任何值和字符串+,都将会先转换为字符串然后进行拼串;
- (隐式的类型转换)我们只需为任何数据类型+“ ”,即可将其转换为String类型,实际其是调用String();
- 有顺序,
result =1+2+"3";//结果33
result ="1"+2+3;//结果123
代码演示:
//俩个数字进行相加
var g = 134
var result = g+1
console.log(result)
//俩个字符串相加
var g1 = "113"
var g2 = "34"
var result = g1+g2
console.log(result)
//任何值和字符串+
var g3 = true
var g4 = "34"
var result = g3+g4
console.log(result)
- :俩个值可以进行减法运算;
* :俩个值进行乘法运算
/ :俩个值进行除法运算
任何值进行 -、*、/、都会自动转换成Number,(隐式类型转换)我们可以通过-0,*1、/1、将其转换为Number。
% :取模(取余)
一元运算符:
一元运算符:只需要一个操作数;
+:正号,正号不会数字产生影响
-:符号,负号对数字取反
对于非Number的值,他会想将其转换为Number,然后进行运算。可以对其他数据进行+,将其转换为Number。他的原理和Number()函数一样。
<script type="text/javascript">
//+
var a = 12
var b =+a
console.log(b)
//-
var a1 = 12
var b1 =-a
console.log(b1)
//非Number
var a2 =true
var b2 =-a2
console.log(b2)
</script>
自增自减:
自增++:就是在原有的数字基础上加1,分为俩种:前++(++a)、后++(a++),共同点是都加1,但是前++自身也加了1,后 ++,是数字本来的数。
自减--:就是在原有数字上减1,分为俩种:前--(--a)、后--(a--),共同点是都-1,但是前--自身也加了1,后 --,是数字本 来的数。
练习题:
<script type="text/javascript">
var n1 =10 ,n2 =20;
var n = n1++
console.log("n="+n);
console.log("n1="+n1);
var n =++n1;
console.log("n="+n);
console.log("n1="+n1);
var n = n2--
console.log("n="+n);
console.log("n2="+n2);
var n =--n2;
console.log("n="+n);
console.log("n2="+n2);
</script>
结果:
js的三种逻辑运算符
布尔值的三种逻辑:
!---非:可以对值进行非运算,所谓非运算就是对一个布尔值进行取反,true--》false;false-->true;如果对值进行俩次取反, 值不会变。对非布尔值进行非运算,想将其转换为布尔,在进行取反。
&&----与:对俩个值进行与运算,运算规则----俩个值只要有一个为false,结果就是false,只有都为true,结果才为true。其实当第 一个值为false时,不需要看第二个值,就知道结果。只有第一个为true,才会检查第一个值。
||-----或:对俩个值进行或运算。运算规则---俩个值只要有一个为true,结果就为true,只有俩个都为false,结果才为false。其实 当第 一个值为true时,不需要看第二个值,就知道结果。
非布尔值的逻辑运算:
对于非布尔值,先将其转换为布尔值,进行运算,最后返回原值。
&&-----与运算:
- 当运算符前后俩个值都为true时,结果将会 返回后边的数值。
var a = 1 && 2 //结果为2
- 当运算符前后都为false时,结果将会返回前边false的结果。
var a = 0 && 3;// false && true ---0
var c = 8 && 0;// true && false ---0
var b = NaN && 0;// false && false ---NaN
var f = 0 && NaN;// false && false ---0
运算规则:
如果第一个值为true,则会返回第二个原值
如果第一个值为false,则会返回第一个原值
||-----或运算:
如果第一个值为true,直接返回第一个原值
如果第一个值为false,则直接返回第二个原值
赋值运算符:
赋值运算符:
= : 将符号右边的值赋给左边的值。
+= :a += 5 等同于 a = a+5
-= : a -= 5 等同于 a = a-5
*= :a *= 5 等同于 a = a*5
/= : a /= 5 等同于 a = a/5
%= :a %= 5 等同于 a = a%5