jsvascript === 和==的区别

来源:互联网 发布:淘宝店铺分享链接生成 编辑:程序博客网 时间:2024/06/08 11:44
==用于一般比较,===用于严格比较,==在比较的时候可以转换数据类型,===严格比较,只要类型不匹配就返回flase。举例说明:"1"  ==  true类型不同,"=="将先做类型转换,把true转换为1,即为 "1"  ==  1;此时,类型仍不同,继续进行类型转换,把"1"转换为1,即为 1 == 1;此时,"==" 左右两边的类型都为数值型,比较成功!如果比较:"1"  ===  true 左侧为字符型,右侧为bool布尔型,左右两侧类型不同,结果为false;如果比较:"1"  ===  1      左侧为字符型,右侧为int数值型,左右两侧类型不同,结果为false;如果比较: 1   ===  1       左侧为int数值型,右侧为int数值型,左右两侧类型相同,数值大小也相同,结果为true;如果比较: 1   ===  2      左侧为int数值型,右侧为int数值型,左右两侧类型相同,但数值大小不同,结果为false;简而言之就是 "==" 只要求值相等; "===" 要求值和类型都相等
Javascript中!==表示严格不相等.JavaScript中,unll与undefined并不相同。在if中使用的时候,它们都是false。而且null==undefined为真,但是null===undefined为假,所以null !== undefined // 返回true.