当前位置: 首页 > news >正文

【JavaScript】相等运算符、条件运算符

1、相等运算符

(1)==(相等)

相等运算符用来比较两个值是否相等,如果相等会返回true,否则返回false

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script>document.writeln(1 == 1);document.writeln("<br>");document.writeln(1 == 5);</script>
</head><body></body></html>

结果:

 注意:当使用来比较两个值时,如果值的类型不同,则会自动进行类型转换,将其转换为相同的类型(不一定转换为数字,大部分情况下转换为数字),然后再比较

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script>document.writeln("1" == 1);</script>
</head><body></body></html>

结果:

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script>document.writeln(true == '1');document.writeln("<br>");document.writeln(null == 0);//没有将null转换为数值类型</script>
</head><body></body></html>

 结果:

注意:undefined衍生自null,所以这两个值做相等判断时,会返回true。  

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script>document.writeln(undefined == null);</script>
</head><body></body></html>

结果:

注意:NaN不和任何值相等,包括它本身  

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script>document.writeln(NaN == NaN);document.writeln("<br>");document.writeln(NaN == "12");</script>
</head><body></body></html>

结果:

判断一个值是不是NaN的函数:isNaN(),如果该值是NaN,则返回true,否则返回false  

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script>var ch = NaN;document.writeln(isNaN(ch));</script>
</head><body></body></html>

 结果:

(2)!=(不等于)

不相等用来判断两个值是否不相等,如果不相等返回true,否则返回false。

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script>document.writeln(122 != 12);document.writeln("<br>");document.writeln("abc" != "abc");</script>
</head><body></body></html>

 结果:

注意:不相等也会对变量进行自动的类型转换,如果转换后相等它会返回false  

(3)===(全等)

全等用来判断两个值是否全等,它和相等类似,不同的是它不会做自动的类型转换。如果两个值的类型不同,直接返回false。  

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script>document.writeln("123" == 123);document.writeln("<br>");document.writeln("123" === 123);</script>
</head><body></body></html>

结果:

(4)!==(不全等)

不全等用来判断两个值是否不全等,它和不相等类似,不同的是它不会做自动的类型转换。如果两个值的类型不同,直接返回true。

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script>document.writeln("123" != 123);document.writeln("<br>");document.writeln("123" !== 123);</script>
</head><body></body></html>

结果:

2、条件运算符(即:三元运算符)  

语法:条件表达式? 语句1:语句2;

执行的流程:

条件运算符在执行时,首先对条件表达式进行求值,如果该值为true,则执行语句1,并返回执行结果,如果该值为false,则执行语句2,并返回执行结果。

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script>true ? alert("语句1") : alert("语句2");</script>
</head><body></body></html>

结果:

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script>false ? alert("语句1") : alert("语句2");</script>
</head><body></body></html>

 结果:

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script>var a = 20;var b = 45;//获取a、b中的最大值var max = a > b ? a : b;document.writeln("max=" + max);</script>
</head><body></body></html>

 结果;

注意:如果条件表达式的求值结果是一个非布尔值,会将其转换为布尔值然后再运算。  

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script>"heello" ? alert("语句1") : alert("语句2");//"heello"转化为布尔值后为:true</script>
</head><body></body></html>

结果:

 

相关文章:

  • 爱芯元智/芯昇,XS9950A,1 通道AHD模拟视频
  • 02 面向对象
  • 游戏盾与高防CDN的协同防御策略分析
  • 网络准入控制系统推荐:2025年构建企业网络安全的第一道防线
  • 【深度学习】#10 注意力机制
  • MQ-2烟雾传感器
  • 基于 BERT 微调一个意图识别(Intent Classification)模型
  • 在前端应用领域驱动设计(DDD):必要性、挑战与实践指南
  • 2025三掌柜赠书活动第十五期:高并发系统:设计原理与实践
  • GRPO有什么缺点,如何改进?
  • leetcode 2302. 统计得分小于 K 的子数组数目 困难
  • 工业园区工厂企业数字IP广播应急呼叫对讲系统:数字IP广播极大提升工厂企业管理效率与应急响应效能
  • 可调用对象(2)-仿函数
  • 【漫话机器学习系列】229.特征缩放对梯度下降的影响(The Effect Of Feature Scaling Gradient Descent)
  • 【氮化镓】质子辐照对 GaN-on-GaN PiN 二极管电导调制的影响
  • 专业测量中的示波器噪声抑制技巧
  • Docker镜像技术深度解析
  • 如何从大规模点集中筛选出距离不小于指定值的点
  • 如何理解promise 续二
  • Transformer数学推导——Q28 分析图注意力(Graph Attention)的邻接矩阵与注意力权重的等价条件
  • 石家庄:城市更新,生活向美
  • “上海-日喀则”直飞航线正式通航,将于5月1日开启首航
  • 恒瑞医药赴港上市获证监会备案,拟发行不超8.15亿股
  • 《九龙城寨之围城》斩获香港金像奖九项大奖,包括最佳影片
  • 当隐身13年的北小京决定公开身份 ,专业戏剧评论依然稀缺
  • 王庆成:儒家、墨家和洪秀全的“上帝”