/与(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. hdu Can you solve this equation?

    本题是一道二分的题,核心就是mi的大小,即精度的取值.因为原函数是一个单调递增的函数,所以可以确定y的取值范围,并且在范围内的每一个y的值,一定至少存在一个x与其对应.刚开始我将取二分这个环节用一个函 ...

  2. react-native 学习

    官网 https://facebook.github.io/react-native/docs/getting-started.html#content 下载 npm install -g react ...

  3. [转]Entity Framework4.0 (七) EF4的存储过程

    本文转自:http://www.cnblogs.com/marksun/archive/2011/12/21/2296500.html 前面了解了EF4的CRUD的操作,你会发现EF4使用起来比较简单 ...

  4. 用Editplus开发Java

    ☆ 准备工作 ①,已安装好jdk,同时配置系统变量(3个,JAVA_HOME,PATH,CLASSPATH) ②,电脑已安装Editplus,并做好设置. ☆ Editplus配置java开发环境 对 ...

  5. HDU 1430 魔板(康托展开+BFS+预处理)

    魔板 Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submis ...

  6. c#是否参入中间变量交换变量的几种方法

    大家很熟悉知道,交换变量经常的使用的一种方法是使用第三个变量,也符合正常人的思维逻辑,但是还有其他的一些方法来实现,但是有点“偏门”,记住就好了.下面就列举这几种方法. 第一种方法,会用到参数的方法再 ...

  7. jQuery+CSS 简单代码实现遮罩层( 兼容主流浏览器 )

    /* ** jQuery版本:jQuery-1.8.3.min.js ** 浏览器:Chrome( v31.0.1650.63 m ),IE11,Firefox( v32.0.1 ),IETester ...

  8. sql group by+字段

    MySQL GROUP BY 语句 GROUP BY 语句根据一个或多个列对结果集进行分组. 在分组的列上我们可以使用 COUNT, SUM, AVG,等函数. 2.在group by的分组字段上,我 ...

  9. Linux文件管理命令

    cd /home 进入 '/ home' 目录' cd .. 返回上一级目录 cd ../.. 返回上两级目录 cd 进入个人的主目录 cd ~user1 进入个人的主目录 cd - 返回上次所在的目 ...

  10. 图片放大插件——elevatezoom

    GitHub地址:https://github.com/elevateweb/elevatezoom elevatezoom官网:http://www.elevateweb.co.uk/image-z ...