我们接下来继续学习表达式与操作符:
1、//逻辑运算符:! && ||
//优先级关系:! && ||
&&(与):找第一个false的值并返回 (找假)
两边都成立,才成立。
false的特定六个值:
undefined " false 0 null Nan
||(或):找第一个为true的值并返回 (找真)
只要有一边成立就可以。
! (非):(取反)
比如:!20 它最后的获取的值为-21
它的取值原理:! 后面的加1,然后取负值。
因此:
a && b : 将a, b转换为Boolean类型, 再执行逻辑与, 如果结果是true返回b, false返回a
a || b : 将a, b转换为Boolean类型, 再执行逻辑或, 如果结果是false返回b, true返回第一个为true的值。
逻辑&&和逻辑||还有一个短路原则:知道了前面第一个的结果就知道最后的输出
a&&b:左操作数为假值时,返回左操作数,否则返回右操作数。
a||b:左操作数为假值时,返回右操作数,否则返回左操作数。
只要“||”前面为false,不管“||”后面是true还是false,都返回“||”后面的值。
只要“||”前面为true,不管“||”后面是true还是false,都返回“||”前面的值。
只要“&&”前面是false,无论“&&”后面是true还是false,结果都将返“&&”前面的值;
只要“&&”前面是true,无论“&&”后面是true还是false,结果都将返“&&”后面的值;
同样对于多个操作数的情况:
a||b||c||d:若结果为true则返回第一个true值,若结果为false则返回最后一个操作数。eg:var a = “” || null || 3 || 2 -> var a = fasel || false || true || true 结果为true 则返回第一个true,即是3
a&&b&&c&&d:若结果为false则返回第一个false,若结果为true则返回最后一个操作数。eg:var b = 2&&null&&1&&0 -> var b = true&&false&&true&&false结果是false 则返回第一个false 即是null
2、条件操作符(三元运算符或者是三目运算符)
if(表达式){
条件成立,执行;
else{
条件不成立,执行;
}
}
3、赋值操作符:
=、+=(加等)、-=(减等)、*=(乘等)、/=(除等)、%=(取余)
4、逗号操作符:
①使用逗号操作符可以在一条语句中执行多操作;
②逗号操作符多用于声明多个变量;但除此之外,逗号操作符还可以用于赋值。在用赋值的时候,逗号操作符总会返回表达式中的最后一项:
比如说;
var num=(5,1,2,43,5,6,0) //num最后返回的值为0。
逗号运算符,它将先计算左边的参数,再计算右边的参数值。然后返回最右边参数的值。
<script>
var a = 10, b = 20;
function CommaTest(){
return a++, b++, 10;
}
var c = CommaTest();
alert(a); // 返回11
alert(b); // 返回21
alert(c); // 返回10
</script>
明天这里继续见,jS等你。