JavaScript逻辑运算符的短路运算

逻辑或与逻辑与的基础语法

  • 逻辑与&& :一假则假
  • 逻辑非||:一真则真

短路运算:若左边的式子可以决定逻辑表达式的结果,右边的式子不执行

  • 逻辑与&&的短路运算:左边能转成false,无条件返回左边式子的值。反之无条件返回右边式子的值
        var num = 10;
        var res = 0 > 1 && num++;
        console.log(res);//false
        console.log(num);//10
        var res1 = 1 && null;
        console.log(res1);//null
  • 逻辑或||的短路运算:若左边能转成true,无条件返回左边式子的值。反之无条件返回右边式子的值
        var res2 = null || 10;
        console.log(res2);//10
        var res3 = undefined || 1 || 100 || null;
        console.log(res3);//1
  • 逻辑表达式的结果不一定是布尔类型
        var res = 10 || 20;
        console.log(res);//10
  • 常见用法:兼容性
    • 获取事件对象
        var box = document.getElementById('box');
        box.onclick = function(e){
            //解决IE8兼容性
            e =  e || window.event;
            // IE8: 不需要添加形参,而是一个全局的属性event
            // 谷歌火狐: 只需要给事件处理函数添加形参即可   event ev e
        };
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。