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赋值给res
document.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>
结果: