资讯专栏INFORMATION COLUMN

JS 使用短路原理简化条件语句代码

yuxue / 364人阅读

摘要:首先得介绍下短路原理,一共就以下四点非常关键只要前面为不管后面是还是,都返回后面的值。正常思路也是最简单的思路就是条件语句,如下结束但是代码看起来非常的多,虽然方便阅读,但是不方便装逼啊使用短路原理大大精简条件语句代码,如下怎么样,就一行把

首先得介绍下短路原理,一共就以下四点(非常关键):

1、只要“||”前面为false,不管“||”后面是true还是false,都返回“||”后面的值。
2、只要“&&”前面是false,无论“&&”后面是true还是false,结果都将返“&&”前面的值;
3、只要“||”前面为true,不管“||”后面是true还是false,都返回“||”前面的值。
4、只要“&&”前面是true,无论“&&”后面是true还是false,结果都将返“&&”后面的值;

出题了!!!
输出数字 1-100,逢 3 的整倍数输出 Fizz,逢 5 的整倍数输出 Buzz,又是 3 又是 5 的整倍数输出 FizzBuzz。那么稍有常识的人都知道,无论你学习什么语言,学的水平有多糟糕,这道题都很容易实现。
正常JS 思路 也是最简单的思路就是条件语句,如下:

var a = 0
setInterval(function(){
    a++;
    if( a <= 50 ) {
        if( a % 15 == 0 ){
            console.log("FizzBuzz");
        } else if( a % 5 == 0 ) {
            console.log("Buzz");
        } else if(a % 3 == 0) {
            console.log("Fizz");
        } else {
            console.log(a);
        }
    } else {
        console.log("结束");
    }
},200);

但是代码看起来非常的多,虽然方便阅读,但是不方便装逼啊!!!
使用短路原理大大精简条件语句代码,如下:

setInterval(function(){
    a++;
    (a >= 100 && window.clearInterval(t)) || console.log((((a % 15 == 0) && "FizzBuzz") || ((a % 3 == 0) && "Fizz") || ((a % 5 == 0) && "Buzz") )|| a);
},200);

怎么样,就一行把~

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/83180.html

相关文章

  • JS 中 if / if...else...替换方式

    摘要:复用性缺点增加了策略类对象的使用使用策略模式,必须先了解所有的,违反了最少知识原则参考资料设计模式之策略模式减少语句的技巧对象属性的命名规则中和代替作者以乐之名本文原创,有不当的地方欢迎指出。 showImg(https://segmentfault.com/img/bVburZ0?w=500&h=400); 说说烂大街的if/if...else...,程序中用得最多的流程判断语句。 ...

    _ivan 评论0 收藏0
  • 每日 30 秒 ⏱ 优雅三连击

    showImg(https://segmentfault.com/img/remote/1460000018709378?w=900&h=500); 简介 短路运算、逗号运算、简化条件语句、初始化小技巧 昨天一个同学在 URL 大爆炸 问了我一个问题:这是什么写法 (data[key] = value, data) 。平时在写文章的时候会把这些技巧稍微提示一下,认为大家都知道这些技巧,引起了小二的...

    Rocture 评论0 收藏0
  • 《JavaScript高级程序设计》笔记:基本概念

    摘要:一写在前面最近重读高级程序设计,总结下来,查漏补缺。但这种影响是单向的修改命名参数不会改变中对应的值。这是因为对象的长度是由传入的参数个数决定的,不是由定义函数时的命名参数的个数决定的。实际改变会同步,改变也会同步 一、写在前面 最近重读《JavaScript高级程序设计》,总结下来,查漏补缺。 二、JS简介 2.1 JS组成 ECMAscript:以ECMA-262为基础的语言,由...

    ygyooo 评论0 收藏0
  • 如何提升你的javascript代码逼格之简写篇

    摘要:例如可以简写为简写赋值方法如果你正在使用任何流行的框架,那么你很有可能使用数组或以对象本文的形式将数据在组件和之间进行通信。可以简写为以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助 三元运算符 当你想用一行代码来写if...else语句的时候,使用三元操作符是非常好的选择,例如: const x = 20; let answer; if (x > 10...

    FuisonDesign 评论0 收藏0
  • JS 中可以提升幸福度的小技巧

    本文主要介绍一些JS中用到的小技巧,可以在日常Coding中提升幸福度,将不定期更新~ 1. 类型强制转换 1.1 string强制转换为数字 可以用*1来转化为数字(实际上是调用.valueOf方法)然后使用Number.isNaN来判断是否为NaN,或者使用 a !== a 来判断是否为NaN,因为 NaN !== NaN 32 * 1 // 32 ds * 1 ...

    tain335 评论0 收藏0

发表评论

0条评论

yuxue

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<