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

  • 相关阅读:
    inline函数
    STL——萃取机制(Traits)
    linux下静态库和动态库的制作与使用
    TCP连接(client、server)状态转换
    构造、拷贝构造、赋值、析构
    python数据类型分类
    考研结束,重返python
    使用Pyquery+selenium抓取淘宝商品信息
    python + Jquery,抓取西东网上的Java教程资源网址
    自定义元类控制类的实例化行为
  • 原文地址:https://www.cnblogs.com/chig/p/10319250.html
Copyright © 2011-2022 走看看