• 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

  • 相关阅读:
    脱壳基础知识入门
    补码的运算
    二补数
    原码 & 反码 & 补码 & 详解
    中国黑客传说:周景平——我是超级黑
    VB程序破解之API断点[bp __vbaVarTstEq]
    ecshop报错”Deprecated: Assigning the return value of…”解决办法
    Ecshop安装过程中的的问题:cls_image::gd_version()和不支持JPEG
    php 关于日期的一些计算
    localStorage使用总结,页面跳转,保存值
  • 原文地址:https://www.cnblogs.com/chig/p/10319250.html
Copyright © 2020-2023  润新知