三木社区

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 390|回复: 0
打印 上一主题 下一主题

JavaScript 比较运算符常见错误

[复制链接]

942

主题

950

帖子

3062

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3062
跳转到指定楼层
楼主
发表于 2017-9-10 10:03:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
比较运算符常见错误
在常规的比较中,数据类型是被忽略的,以下 if 条件语句返回 true:
  1. var x = 10;
  2. var y = "10";
  3. if (x == y)
复制代码
在严格的比较运算中,=== 为恒等计算符,同时检查表达式的值与类型,以下 if 条件语句返回 false:
  1. var x = 10;
  2. var y = "10";
  3. if (x === y)
复制代码
这种错误经常会在 switch 语句中出现,switch 语句会使用恒等计算符(===)进行比较:
以下实例会执行 alert 弹窗:
  1. var x = 10;
  2. switch(x) {
  3.     case 10: alert("Hello");
  4. }
复制代码
以下实例由于类型不一致不会执行 alert 弹窗:
  1. var x = 10;
  2. switch(x) {
  3.     case "10": alert("Hello");
  4. }
复制代码


回复

使用道具 举报

Archiver|手机版|小黑屋|三木电子社区 ( 辽ICP备11000133号-4 )

辽公网安备 21021702000620号

GMT+8, 2026-1-19 23:56 , Processed in 0.023807 second(s), 23 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表