js多条件if语句简写发生Uncaught SyntaxError: Unexpected token }

2019-01-25 13:53:00  浏览:1783  作者:管理员

改写原生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条件?Something2 :b条件 ? Something3 :Something;

 参考:https://www.jb51.net/article/86328.htm

评论区

共 0 条评论
  • 这篇文章还没有收到评论,赶紧来抢沙发吧~

【随机新闻】

返回顶部