欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JS 宽松相等和严格相等

程序员文章站 2022-07-05 23:43:48
...

宽松相等(loose equals)== 和严格相等(strict equals)=== 都用来判断两个值是否“相
等”,但是它们之间有一个很重要的区别,特别是在判断条件上。
常见的误区是“== 检查值是否相等,=== 检查值和类型是否相等”。听起来蛮有道理,然而
还不够准确。很多 JavaScript 的书籍和博客也是这样来解释的,但是很遗憾他们都错了。
正确的解释是:“== 允许在相等比较中进行强制类型转换,而 === 不允许。”

 

var i = 2;
Number.prototype.valueOf = function() {
 return i++;
};
var a = new Number( 42 );
if (a == 2 && a == 3) {
 console.log( "相等" );
}

 

效果图:
JS 宽松相等和严格相等
            
    
    博客分类: 境-JS 宽松相等严格相等=====JS 
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • JS 宽松相等和严格相等
            
    
    博客分类: 境-JS 宽松相等严格相等=====JS 
  • 大小: 4.7 KB