javascript中=、==与===的区别

1、等号

=赋值运算符,给变量赋值

var a="1";

2、相等和不相等操作符

相等操作符由==表示,若两个操作数相等,则返回true;不相等操作符由!=表示,若两个操作数不相等,则返回true。属于不严格的相等或不等判断,因为javascript会自动转换类型再对其进行比较,即只判断值是否相等不判断类型

比较时需要遵循下列规则

1)null和undefined是相等的

2)比较相等之前,不能将null和undefined转换成其它任何值

3)如果有一个操作数是NaN,则相等操作符返回fasle,不相等操作符返回true,即使两个操作符都是NaN也返回false,因为NaN不等于NaN

4)如果两个操作数都是对象,则比较他们是不是同一个对象,若指向同一个对象返回true,否则返回false

var a="1"​,b=1,c=2;    
alert(a==b);//返回true
alert(a!=c);//返回true 

==,结果返回true(值相等,类型不同),!=,结果返回true(值不相等,类型不同)

3、全等和不全等操作符

全等操作符由===表示,绝对相等符,不会自动转换类型,若类型不一致则返回false,即值和类型都要相等;不全等操作符由!==表示,属于严格的不等判断,即值和类型只有有一个不相等就返回true

===,结果返回false(值相等,类型不同)

var a="1"​,b=1;
alert(a===b);

!==,结果返回true(值相等,类型不同)

var a="1"​,b=1;
alert(a!==b) 

 null === undefined返回false,因为是不同类型

 alert(null === undefined);//返回false

 

posted @ 2016-11-04 11:09  慵懒的小猪  阅读(251)  评论(0)    收藏  举报