在 JavaScript 中, 两个等号 (==) 和三个等号 (===) 之间有什么区别? 下面本篇文章就来给大家介绍一下 == 和 === 的区别, 希望对大家有所帮助.
首先我们要知道: JavaScript 中'=='表示抽象相等; 而,'===='表示严格相等.
那么'=='和'===='的区别是什么?
==" 运算符会在进行相等比较之前会进行必要值的类型转换. 简单来说, 就是先把值转换为一样的类型再进行相等比较. 就算比较的值的类型不相同, 也可以通过强制转换类型成一样的, 不会发生错误.
- var param1= '1', param2 = '1' ;
- param1 == param2; // 类型和数值同时相等 true
- var param3 = 1;
- param1 == param3; // 类型不相等和数值相等 true
- var param4 = 2;
- param1 == param4; // 类型和数值都不相等 false
- var param1 = null, param2 = undefined;
- param1 === param2; //true
"===" 运算符, 它不会执行类型转换, 因此如果两个值不是相同类型, 那么当比较时, 它将返回 false. 如果比较两个变量, 它们的类型彼此不兼容, 则会产生编译错误.
- var param1= '1', param2 = '1' ;
- param1 === param2; // 类型和数值同时相等 true
- var param3 = 1;
- param1 === param3; // 类型不相等和数值相等 false
- var param4 = 2;
- param1 === param4; // 类型和数值都不相等 false
- var param1 = null, param2 = undefined;
- param1 === param2; //false
来源: http://www.css88.com/qa/javascript/12097.html