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)不会是具体结果。

  • 相关阅读:
    PHP 5 echo 和 print 语句
    MySQL存储过程-遍历游标的例子
    bzoj2554: Color
    win10 uwp 入门
    win10 uwp 入门
    win10 uwp 自定义控件 SplitViewItem
    win10 uwp 自定义控件 SplitViewItem
    win10 uwp ContentDialog 点确定不关闭
    win10 uwp ContentDialog 点确定不关闭
    win10 uwp smms图床
  • 原文地址:https://www.cnblogs.com/ludeng-blog/p/12610400.html
Copyright © 2011-2022 走看看