一、比较运算
- 在js中,凡是运算都会有返回值
- >、<、==、!=、>=、<=、===、!==。比较运算返回值是true/false,即布尔值。
- 在比较运算的时候,如果判断两个变量的值是否相等,采用
==
会有一个数据类型的隐式转换。js是一种弱类型语言,数据类型会相互转换。
-
===
的执行效率要高于==
,因为后者需要进行数据类型的转换。
console.log(a = 2);//2 赋值操作运算符,返回结果是等号右边的值。
var a = 4,
b = 10,
c = 4,
d = "4";
console.log(a = "你好");//你好
console.log(a > b);//false
console.log(a == b);//false
console.log(a < b);//true
console.log(a != b);//true
console.log(a == d);//true
console.log(a === d);//false 不仅值要相等,数据类型也需要相等
二、if语句
if(条件){
条件正确的执行代码
}else{
否则执行的代码
}
- 在if的()中,会产生隐式类型转换。
- 只有在以下六种情况下,if中的()的数据为假。
false
、空字符串
、0
、null
、undefined
、NaN
。
三、三目运算
- 具有一个条件,一个为真的结果,一个为假的结果。
- 三目运算:条件?真语句:假语句。优先级高于赋值。
oBox.title = oBox.title == "a"?"b":"a";
四、switch语句
- 用switch来替代if的判断条件是多个确定的值相比较的时候,switch里的判断是全等于。
- 在每一个case后添加一个break,表示退出switch循环。
switch(a){
case 1:
console.log(1);
break;
case 2:
console.log(2);
break;
case 3:
console.log(3);
break;
default:
console.log("其他");
break;
}
五、判断时注意事项
- 不要使用颜色做判断。
- 不要使用复合属性做判断。
- 不要使用url做判断,涉及到字符串转换和相对/绝对路径。
网友评论