JS中三元运算符 冒号: 后可以写多条语句吗?

当问号?前表达式不满足时,需要运行两条语句。请问需要冒号:后要怎么写?

let s = document.getElementById('mainContent').style;
s.opacity = 1;
(function fade(){
(s.opacity-=.1)<0?s.display="none":{setTimeout(fade,100);console.log(123);}
})();

这样写会报错。只能用if-else了吗

阅读 9.7k
2 个回答

用自执行匿名函数

var time = +new Date()
var result = time % 2 === 0 ? 'ok' : (_ => {
  time = +new Date()
  console.warn(time)
  return 'no'
})()

console.info(result)

用分号

let s = document.getElementById('mainContent').style;
s.opacity = 1;
(function fade(){
    (s.opacity- = .1) < 0 ? s.display = "none" : setTimeout(fade,100), console.log(123);
})();
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏