js表达式和运算符
1、 相等运算符(= =)和等同运算符(= = =)用于比较数字、字符串和布尔值
(1)= = ——允许进行类型转换,比较宽松的统一性定义检测两个运算数是否相等;
比较规则:
类型不同,但值相同,则返回true;
null和undefined比较,返回true;
(2)= = = ——严格的比较,包括类型;
比较规则:
如果两个值的类型不同,则不等同;
NaN永远不会和其他任何值等同,包括自身,要检测一个值是否是NaN,使用全局函数isNaN();
两个字符串等同:长度和内容都相同;
2、 比较对象、数组和函数使用引用(reference),即只有两个变量引用的是同一个变量时,他们才相等。
3、in运算符:左边的运算数是一个字符串或可被转换为字符串,右边的运算数是一个对象或数组,如果左边的值是右边对象的一个属性名,则返回true;
4、 instanceof运算符:左边是一个类对象;右边是对象类的名字,如果左边的类对象是右边类的一个实例,则返回true;