逻辑运算符
- && (与运算)[表示并列的关系,必须同时满足]
- || (或运算)[表示或者的关系,至少满足一个]
- ! (非运算)[表示否定,取相反]
example:
<script type="text/javascript">
var num = 4;
var result= num >= 1 && num <= 9 ;
console.log("这是一个个位数。" + result) ;
</script>
关系运算符
【得到的结果一定是Boolean类型】
- < 、>、>=、<=、!=【比较运算符】
- ==【赋值】
- === 【比较两边的数据内容和数据类型】
- !==【比较同类型的数据,不同类型的数据比较,非运算得出true】
<script type="text/javascript">
var a=4 ;
var b=5;
var result= a++ + b + ++b + ++ a;
console.log("运算结果" + result) ;
// result=4(5)+5+(5)6+(5)6=21
</script>
a++:表示,先将a 的值赋给a ,再进行自加
++a:表示先将a的值进行++的运算,再赋值
【但是,若 a = a ++ ,此时的 a = 4】
位运算
【位运算只能做数字的运算,数字要先转化为二进制,再根据表达式做运算】
-
& 按位与 ( 数字先转换成二进制,再在让每一位上数字做对比,只有每一位上的数字都为1,得出的结果才是1,反之为0)
-
| 按位或 ( 数字先转换成二进制,再在让每一位上数字做对比,当位上的数字至少有一个是为1的,得出的结果就是1,反之为0)
-
^ 异或 ( 数字先转换成二进制,再在让每一位上数字做对比,当位上的数字只有一个是为1的,得出的结果就是1,反之为0)
-
<< 左移运算符 ( 数字先转换成二进制,然后根据符号向左移动位数 )
<script type="text/javascript">
var a = 8 << 2;
//(8)=1000-->(左移两位)100000=(32)
console.log(a);
// a=32
</script>
- >> 右移运算符 ( 数字先转换成二进制,然后根据符号向右移动位数 )
<script type="text/javascript">
var a = 8 >> 2;
//(8)=1000-->(右移两位)10=(2)
console.log(a);
// a=2
</script>