zoukankan      html  css  js  c++  java
  • 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;

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

  • 相关阅读:
    基础技术
    Luogu1438 无聊的数列(线段树)
    树状数组从入门到入土
    左偏树
    PA2014-Final Zarowki(堆)
    BZOJ1455罗马游戏
    【小米oj】 海盗分赃
    【小米oj】 最少交换次数
    【小米oj】 大胃王的烦恼
    【小米oj】 不一样的排序
  • 原文地址:https://www.cnblogs.com/chig/p/10319250.html
Copyright © 2011-2022 走看看