zoukankan      html  css  js  c++  java
  • 简单又深度的理解JS逻辑运算符——与(&&)或(||)

    简单又深度的理解JS逻辑运算符——与(&&)或(||)

    &&就是"和" "and"
    ||就是"或者" "or"

    抛弃你的想法,直接看demo:

    	var a = 1 && 2;
    	document.write(a)
    

    输出:2

    	var b = 1 && 2 && 3;
    	document.write(b)
    

    输出:3

    是不是已经猜到了?再看一个

    	var c = 1 && false && 3;
    	document.write(c)
    

    输出:false

    【总结】:&&运算从前往后找,找不到就返回最后一个变量,找到了就返回这个变量,且后面不会再执行
    (当然变量位置也可能放表达式,如 1 && 2+3返回 5,为了好理解,用"变量"统一概括。)

    举例子来说,一个项目需要3个人,小张,小李,小王来做,他们代号分别为1,2,3;秘书点名,"1号","到";"2号",没人吱声,秘书不再点名,直接走了,给经理说项目false。这就是第三个demo过程。
    假如秘书点名,三个人都到了,秘书就会给经理说,3号都到了,项目可以开始了。这就是第二个demo过程。

    同样的,或(||)就是经理累了,想找个秘书捶背,就给秘书打电话,小张号码为空号(null),小李号码没有(undefined),小王号码没人接听(false),得出结论,都没来!
    假如有一个人来了,直接就喊过去捶背了。

    直接看demo:

    	var a = 0 || null || "" || undefined;
    	document.write(a)
    

    输出:undefined

    	var b = false || 2+3 || 2;
    	document.write(b)
    

    输出:5

    【总结】:||运算从前往后找,找不到就返回最后一个变量,找到了就返回这个变量,且后面不会再执行。

    【知识】为false的变量有:undefined、null、NaN、""、0、false本身,这些返回波尔类型都是false;

    有一点需要强调,上面总结提到了后面不会再执行这句话,作用还是很大的。

    比如: e && fun(e)当参数e不存在或者为空的时候,后面的函数就不会执行!
    又比如:var c = a || bc默认等于a,只有a为false时,才会选择b

    在实际开发中,这都是实用的小技巧。

    【注意】在C语言中,只会返回波尔型(true false)不会是具体结果。

  • 相关阅读:
    GDB调试共享库的问题
    Android 2.3 StageFright如何选定OMX组件的?
    Perforce client p4常见用法
    pthread_cond_signal只能唤醒已经处于pthread_cond_wait的线程
    正则表达式验证数据例子
    美国经济数据公布时间
    .net去除html标签代码
    js Array 方法|js Array 方法使用
    在分析向此请求提供服务所需资源时出错。请检查下列特定分析错误详细信息并适当地修改源文件
    日期格式正则表达式
  • 原文地址:https://www.cnblogs.com/ludeng-blog/p/12610400.html
Copyright © 2011-2022 走看看