JavaScript中两个等号(“==”)和三个等号(“===”)的区别

在JavaScript中“==”和“===”有什么区别呢,下面的这几个例子可以让你清楚地看到它们的区别:

<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>== 和 ===区别</title>
</head>

<body>
<script lang="javascript">
	function println(str){
		document.writeln(str + "<br/>");
	}

	function test1(){
		var b = 0;
	
		if(b == false){
			println('0==false 成立');
		}else{
			println('0 == false 不成立');
		}	
	}
	
	function test1b(){
		var b = 0;
	
		if(b === false){
			println('0===false 成立');
		}else{
			println('0===false 不成立');
		}	
	}
	
	function test2(){
		var b = 2;
	
		if(b == '2'){
			println('2==\'2\'成立');
		}else{
			println('2==\'2\'不成立');
		}	
	}
	
	
	function test2b(){
		var b = 2;
	
		if(b === '2'){
			println('2===\'2\'成立');
		}else{
			println('2===\'2\'不成立');
		}	
	}

	test1();
	test1b();
	test2();
	test2b();			

</script>
</body>

</html>

输出:

0==false 成立
0===false 不成立
2=='2'成立
2==='2'不成立

总结:

JavaScript在进行比较时,“==”比较会进行类型的转换,如转换后 0会和false相等,1会和true相等,字符串型数字会和数字型数字相等 等等。

这样的话,在某些需要精确匹配的场合是不合要求的,这时采用“===”比较符则可以进行严格的比较,不仅转换后的值要相等,类型也要相同。

相对应“==”,“===”,不等于的比较则对应为“!=”,“!==”。

posted @ 2017-09-04 11:18  hongweigg  阅读(7)  评论(0编辑  收藏  举报