相等判断
== === !=
==
1、比较的是两个表达式的值是否相等
2、值相等 但是可以类型不相等
var a = 2
var b = 3
var c = "5"
var d=(a+b)==c// 比较的是两个表达式的值是否相等
console.log(d) //true
console.log("100"==100)//值相等 但是类型不相等 number string
3、引用数据比较时会看是否是同一个内存空间
console.log("100"===100)
var obj={name:"karen"}
var obj2={name:"karen"}
obj2.name="jack"
console.log(obj==obj2)//false
!=
它的结果就是将==的值取反
===
比较时,不仅值要相同,而且类型也必须一样
in
对象在js中是一种键值对的集合: key:value key是字符串 value是数据/表达式
用法:"name" in obj ==> obj对象能否使用name成员 //true or false
var obj={age:28}
console.log("toString" in obj) //true
三目运算
1、用法: expr1?A:B (开发时建议使用if-else)
expr1表达式会做布尔判定 判定的结果为true 就会执行表达式A 否则执行B
2、整个三目运算表达式的结果 是A 或者B
var a=20;
var re=a>=18?20:{name:"karen"};
console.log(re) //20
逗号运算符
1、多元运算符
2、会把逗号隔开的表达式全部执行 最后一个运行的表达式的结果就是逗号运算符的结果
var re=(20+30,40,50);
console.log(re) //50
//区分:
var a,b,c,e=20;
隐式操作 var a;var b;var c;var e=20