学习逻辑表达式时,学到了一些自己以前不理解的点,记录下来。
运算符“&&”
“&&”运算符可以从三个不同层次进行理解:
第一层:当操作数都是布尔值的时候,“&&”对两个值执行布尔与(AND)操作,只有第一个操作数和第二个操作数都是true的时候,它才返回true。
第二层:“&&”可以对真值和价值(false,null,undified,0,-0,NaN和"")进行布尔值与(AND)操作。
第三层:运算符首先计算左操作数的值,如果计算结果是假值,那么“&&”这时简单地返回左操作数的值,如果表达式左操作数是真值时,“&&”运算符将返回右操作数的值并将其作为整个表达式的计算结果。
如:
var person={name:"wxt"}; var nPerson=null; person&&person.name //返回person.name nPerson&&nPerson.name //返回nPerson
运算符“||”
同样“||”会先计算第一个操作数的值,如果计算结果是真值,那么返回这个真值,否则再计算第二个操作数的值,并返回这个表达式的计算结果。
时间: 2024-11-08 07:24:31