【JavaScript】逻辑运算符--非布尔值的与或运算、赋值运算符
1、逻辑运算符--非布尔值的与或运算
对于非布尔值进行与或运算,会先将其转换为布尔值,然后再运算,并且返回原值
(1)&&
如果&&的左右操作数转换为布尔值后都为true,则返回右操作数
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script>var res1 = 1 && 2;var res2 = 2 && 1;document.writeln("res1=" + res1);document.writeln("<br>");document.writeln("res2=" + res2);</script>
</head><body>
</body></html>
结果:
如果两个值中有false,则返回靠前的false
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script>var res1 = 0 && 2;var res2 = 1 && 0;document.writeln("res1=" + res1);document.writeln("<br>");document.writeln("res2=" + res2);</script>
</head><body>
</body></html>
结果:
总结:如果左操作数为true,则必然返回第二个值;如果第一个值为false,则必然返回第一个值。
(2)||
如果第一个值为true,则直接返回第一个值
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script>var res1 = 1 || 2;var res2 = 2 || 1;document.writeln("res1=" + res1);document.writeln("<br>");document.writeln("res2=" + res2);</script>
</head><body>
</body></html>
结果:
如果第一个值为false,则直接返回第二个值
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script>var res1 = 0 || 2;var res2 = 0 || 1;document.writeln("res1=" + res1);document.writeln("<br>");document.writeln("res2=" + res2);</script>
</head><body>
</body></html>
结果:
总结:如果第一个值为true,则直接返回第一个值;如果第一个值为alse返回,则直接第二个值。
2、赋值运算符
赋值运算符:可以将符号右侧的值赋值给符号左侧的变量。
(1)=
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script>var res = 12;//将12赋值给resdocument.writeln(res);</script>
</head><body>
</body></html>
结果:
(2)+=
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script>var res = 12;res += 5;//与res=res+5等价document.writeln(res);</script>
</head><body>
</body></html>
结果:
(3)-=
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script>var res = 12;res -= 5;//与res=res-5等价document.writeln(res);</script>
</head><body>
</body></html>
结果:
(4)*=
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script>var res = 12;res *= 5;//与res=res*5等价document.writeln(res);</script>
</head><body>
</body></html>
结果:
(5)/=
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script>var res = 12;res /= 5;//与res=res/5等价document.writeln(res);</script>
</head><body>
</body></html>
结果:
(6)%=
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script>var res = 12;res %= 5;//与res=res%5等价document.writeln(res);</script>
</head><body>
</body></html>
结果: