javascript奇怪的写法

dbaren 2013-08-16 05:00:58
在网上看到这么一种写法:
(a.event.OrderValue || "").localeCompare(b.event.OrderValue)

请问大神 (a.event.OrderValue || "") 这句话里或上一个空字符串有啥意义呀
...全文
149 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wz_307 2013-08-19
  • 打赏
  • 举报
回复
这个写法甚至可以执行一些简单的if判断逻辑: 例如 (function main(){ true || alert(1); false || alert(3); })()
hch126163 2013-08-17
  • 打赏
  • 举报
回复
&& || 断路运算。js 常用 function(a){ a=a||0; ==> a = a?a:0; } b && (b=1); ===> if(b){b=1;}
KK3K2005 2013-08-16
  • 打赏
  • 举报
回复
a || b 这个表达式 如果 a 的值判定是true 则返回a 否则返回 b a.event.OrderValue || "" 这样保证返回的是一个字符串(即使是空的“”) 因为如果左面是null的话 直接操作可能会报错 换句话说 这样保证把 空值(null undefinded) 转换成空字符串
hudingwen1908 2013-08-16
  • 打赏
  • 举报
回复
a.event.OrderValue不传值的时候,就默认为空

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧