Jst中==是如何进行比较的?

时间:2021-12-16作者:klpeng分类:IT综合浏览:531评论:0

 形如: a == b

一.当a 和b类型相同,则直接比较

 如: “sss” == “sss” ; // true

二. 当a和b类型不同,会转换成相同类型在比较

那么当a和b类型不同时,如何进行转换的呢?

1.NaN与任何数比较都不相等,都是false;

 NaN的意思是不是一个数字,number类型

<!DOCTYPE html><html><head><meta charset="UTF-8"><title></title></head><body><script>
			console.log(  NaN == NaN    );
			console.log(  NaN == "0" );
			console.log(  NaN == undefined );
			console.log(  NaN == null );
			console.log(  NaN == 8990);</script></body></html>

Jst中==是如何进行比较的?

2.数字与字符串比较

 形如 “a” == 18
会将字符串"a"转换成数字和数字(18)比较,如果字符串转不成数字,会转换成NaN。
 测试如下:

<!DOCTYPE html><html><head><meta charset="UTF-8"><title></title></head><body><script>
			console.log(  "1"  == 1 ); //true
			console.log(  "11" == 1 ); //false
			console.log(  "a1" == 1 ); //false
			console.log(  "aaa"== 1 ); //false
			console.log(  "0"  == 1 ); //false</script>
		 
		
	</body></html>

3.布尔类型与其他类型比较

  形如: false == 其他类型
其他类型会转换成数字,bool类型也会转换成数字,在进行比较
布尔类型中true会变成1,false会变成0
 代码实例:

<!DOCTYPE html><html><head><meta charset="UTF-8"><title></title></head><body><script>
			console.log(  true  == 1 ); //true
			console.log(  false == 0 ); //true
			console.log(  true == "1" ); //true
			console.log(  false == "0" ); //true
			console.log(  true == 111 ); //false
			console.log(  true == "111" ); //false
			console.log(  false == 111 ); //false
			console.log(  false == "111" ); //false
			console.log(  false == "a" ); //false</script>
		 
	</body></html>

4.null和undefined比较为true

null == undefined 为true。都是没有值

<!DOCTYPE html><html><head><meta charset="UTF-8"><title></title></head><body><script>
			console.log(null == undefined);// true</script></body></html>
打赏
文章版权声明:除非注明,否则均为彭超的博客原创文章,转载或复制请以超链接形式并注明出处。
相关推荐

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

猜你喜欢