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

  • 相关阅读:
    在返回值拒绝——reference
    传参时,使用引用替换变量
    C++设计与声明——让接口容易被正确使用
    三角函数的天下
    渲染流水线
    设置Shader关键字高亮(网上转)
    平衡二叉树,AVL树之代码篇
    2017-2018-1 20155205 嵌入式C语言——时钟
    GDB基础学习
    20155205 《信息安全系统设计基础》课程总结
  • 原文地址:https://www.cnblogs.com/chig/p/10319250.html
Copyright © 2011-2022 走看看