js多条件if语句简写发生Uncaught SyntaxError: Unexpected token }
改写原生js 多条件if判断语句时,采用三元方法,发生Uncaught SyntaxError: Unexpected token }
1 function compareImgSize() { 2 var coverImg = document.getElementById("bgimg"); 3 var coverSize = getImgNaturalDimensions(coverImg); 4 5 var coverSizeRate = coverSize[0] / coverSize[1]; 6 // if (coverSizeRate > 1.7){ 7 // imgPosition(33); 8 // }else if (coverSizeRate < 1.7 && coverSizeRate > 0.7){ 9 // imgPosition(12); 10 // }else if(coverSizeRate < 0.7){ 11 // imgPosition(0); 12 // } 13 14 coverSizeRate > 1.7 ? imgPosition(33) 15 : (coverSizeRate < 1.7 && coverSizeRate > 0.7) ? imgPosition(12) 16 : coverSizeRate < 0.7 ? imgPosition(0) 17 }
第一次以为是第16行判断结束时没有“;”,但当加入“;”时,又发生Uncaught SyntaxError: Unexpected token ;
后来补上else结束条件就解决了;如图第17行;
1 function compareImgSize() { 2 var coverImg = document.getElementById("bgimg"); 3 var coverSize = getImgNaturalDimensions(coverImg); 4 5 var coverSizeRate = coverSize[0] / coverSize[1]; 6 // if (coverSizeRate > 1.7){ 7 // imgPosition(33); 8 // }else if (coverSizeRate < 1.7 && coverSizeRate > 0.7){ 9 // imgPosition(12); 10 // }else if(coverSizeRate < 0.7){ 11 // imgPosition(0); 12 // } 13 14 coverSizeRate > 1.7 ? imgPosition(33) 15 : (coverSizeRate < 1.7 && coverSizeRate > 0.7) ? imgPosition(12) 16 : coverSizeRate < 0.7 ? imgPosition(0) 17 :imgPosition(0); 18 19 }
总结:使用三元简写if多条件判断语句时,必须有else结束语句结束;
完整形式
1 if(a条件){Something} 2 else if(b条件){Something}
改为:
1 a条件?Something 2 :b条件 ? Something 3 :Something;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现