/与(and)&&

var box = (5>3)&&(4>3);
alert(box); //true

如果脸变的操作数有一个操作数不是boolean值得情况下,于运算就不一定返回布尔值。遵循的规则如下:

a.第一个操作数是对象,则返回第二操作数;

var age = {}&&(4>3);
alert(age);//true

b.第二个操作数是对象,则第一个操作数返回true,才返回第二个操作数,否则返回false;

var box = (4>3)&&{};
alert(box);//[object object]
var age = (3>4)&&{};
alert(age);//falsealert(typeof age);//boolean
alert(typeof box);//object

c.有一个操作数是null,则返回null;

var box = null && (3>4);
var age = (3>4) && null;
alert(age);//flase
alert(box);//null

d.有一个操作时undefined,则返回undefined;

var box = undefined && (3>4);
var age = (3>4) && undefined;
alert(age);//flase
alert(box);//undefinedvar hight = true && height;alert(hight);//undefined

e.如果第一个为false,则不执行第二个,直接返回false

var box = false && (3>4);
var age = false && undefined;
alert(age);//flase
alert(box);//undefined

f. 第一个为单独number 或 string,执行第二,否则false

总结:看似有六条规定,实质就两条

1.第一个为false,不用执行第二个,直接返回false

2.第一个为true(包括Number、String、对象)或(null、undefined)。

  前者返回第二操作数;后者直接返回null、undefined。

随机推荐

  1. asp.net 微信企业号办公系统-流程设计--流转条件设置(路由)

    当一个步骤后面有多个步骤时,可以设置为根据设置条件系统自动判断该流向哪些步骤,也叫路由. 工作流没有单独的路由步骤来设置条件,流程条件通过双击连线弹出条件设置框来设置. 1.sql条件 即通过sql条 ...

  2. JAVA发送邮件工具类

    import java.util.Date;import java.util.Properties; import javax.mail.BodyPart;import javax.mail.Mess ...

  3. IP地址在数据库里面的存储方式

    大多数公司的表结构都需要经过DBA进行审核,有时候你会看到存储IP地址采用varchar(15),这种方式都是传统的做法,这种方法需要占用15个字节,那么有更省空间的做法么?肯定是有的,那就是用int ...

  4. Why Consumer Hardware Start-ups Fail

    今年看到一篇文章还是很受启发. If you have the guts to start selling what you believe in, customers who share your ...

  5. 重命名Administrator账号

    (Get-WmiObject -class Win32_UserAccount | where {$_.SID -Like 'S-1-5-*-500'}).Rename("Ultraman& ...

  6. NOJ 1651 Red packet(二分)

    [1651] Red packet 时间限制: 1000 ms 内存限制: 65535 K 问题描述 New Year is coming! Our big boss Wine93 will dist ...

  7. POI设置边框

    在做一个电子表格时,边框的设置有时是必不可少的.这一节就来介绍边框,设置时,可以指定边框的位置,边框的种类,边框的顔色. 首先是边框的位置和种类.对单元格设置边框时,有上下左右位置之分,所以POI也准 ...

  8. Excel中如何在两个工作表中查找重复数据

    有时我们可能会在两种工作表中查找重复记录,当数据记录很多时,就必须通过简单的方法来实现.下面小编就与大家一起分享一下查看重复记录数据的方法,希望对大家有所帮助. 方法/步骤   为了讲解的需要,小编特 ...

  9. 20个C语言中常用宏定义总结

    01: 防止一个头文件被重复包含 #ifndef COMDEF_H#define COMDEF_H//头文件内容#endif 02: 重新定义一些类型防止由于各种平台和编译器的不同,而产生的类型字节数 ...

  10. 当多个工程互相引用时,若有serverlet工程,提示java.lang.NoClassDefFoundError错误

    serverlet工程和其他的工程引用有所不同,直接在buildpath中添加引用的工程会报NoClassDefFoundError错误错误, 需要在properties-depoyment asse ...