三不web
2016-07-12 11:16
numa&&numb>=60 这样写也可以吗?
(numa&&numb)>=60;这样是可以的。
numa&&numb>=60;这样是两个其实是两个判断1:numa是否为真?2:numb是否大于等于60。
变量的在没有定义特定的布尔值时,初始值都为:true;
var a; if (a == true){ documnet.write("the type of a:" typeof a); }
所以numa && numb >=60 前边的值永远为true。
不可以,算术操作符 → 比较操作符 → 逻辑操作符 → "="赋值符号
布尔值只有0和1, 看到"&&",逻辑判断的语句:
"numa&&numb>=60",假设这句话为真,那么numb >= 60 也为真,numa的值可以是任意非0的数;
"numa>=60&&numb>=60" ,这里的话就是,numa的作用域不同 ,这里的限制范围小了,比起"numa&&numb>=60"的numa,判断是小范围决定大范围,所以说这两个判断条件是不一样的,表示的不是一个意思,虽然也有交集,但这并不是重点.
numa&&numb>=60相当于numa==0&&numb>=60
numa&&numb>=60:是首先判断numa是否为true;
你首先要知道比较运算符执行顺序比逻辑运算符优先,所以这个问题在于numa&&numb>=60怎么理解?
它的意思是numa是true,再加上numb>=60(true),两者同时成立!这个numa>=60&&numb>=60就不必说了。
JavaScript进阶篇
468060 学习 · 21891 问题
相似问题