`

Javascript 中的 && 和 ||

阅读更多

        准备两个对象用于下面的讨论

var alice = {
    name: "alice",
    toString: function () {
        return this.name;
    }
}
var smith = {
    name: "smith",
    toString: function () {
        return this.name;
    }
}

在 javascript 中,对于 && 不仅仅可以用于 boolean 类型,也不仅仅返回 Boolean 类型的结果。

1.如果第一个操作数是 Boolean 类型,而且值为 false ,那么直接返回 false。

2.如果第一个操作数是 Boolean 类型,而且值为 true,另外一个操作数是 object 类型,那么将返回这个对象。

3.如果两个操作数都是 object 类型,那么,返回第二个对象。

4.如果任何一个操作数是 null,那么,返回 null。

5.如果任何一个操作数是 NaN,那么返回 NaN。

6.如果任何一个操作数是 undefinded,那么返回 undefined。

alert(false && alice);         // false
alert(true && alice);          // alice
alert(alice && smith);         // smith
alert(smith && alice);         // alice
alert(null && alice);          // null
alert(NaN && alice);           // NaN
alert(undefined && alice);     // undefined
alert(alice && undefined);     // undefined

 

        对于 || 来说,同样也不仅仅用于 Boolean 类型,也不仅仅返回 Boolean 类型的结果。

事实上,null、undefined、NaN 都将被看作 false,而对象被当作 true。

1.如果第一个操作数是 boolean 类型,而且值为 true, 那么,直接返回 true。

2.如果第一个操作数是 Boolean 类型,而且值为 false ,第二个操作数为 object,那么返回 object 对象。

3.如果两个操作数都是 object 类型,那么返回第一个对象。

4.如果两个操作数都是 null,那么,返回 null。

5.如果两个操作数都是 NaN,那么返回 NaN。

6.如果两个操作数都是 undefined,那么,返回 undefined。

alert(false || alice);         // alice
alert(true || alice);          // true
alert(alice || smith);         // alice
alert(smith || alice);         // smith
alert(null || alice);       // alice
alert(alice || null);       // alice
alert(null || null);        // null
alert(NaN || alice);        // alice
alert(alice || NaN);        // alice
alert(NaN || NaN);          // NaN
alert(undefined || alice);     // alice
alert(alice || undefined);     // alice
alert(undefined || undefined); // undefined
分享到:
评论

相关推荐

    Javascript的&&和||的另类用法|angluo-javascript-110989.pdf

    JavaScript中的逻辑运算符`&&`和`||`通常用于逻辑判断,但在某些场景下,它们还可以作为巧妙的控制流程工具,这就是所谓的“另类用法”。这种用法可以帮助我们写出更简洁、高效的代码。 首先,我们来看`&&`运算符的...

    解释&&和||在javascript中的另类用法|angluo-javascript-111309.pdf

    在JavaScript中,逻辑运算符`&&`(和)和`||`(或)是常用的运算符,它们除了用于逻辑判断外,还有不少“另类”的用法。这些用法能够简化代码、提高效率,尤其在处理特定情况时显得非常方便。下面详细解释这些用法:...

    学习html&css&javascript.zip

    javascript 学习html&css&javascript学习html&css&javascript 学习html&css&javascript学习html&css&javascript 学习html&css&javascript学习html&css&javascript ...

    js中的||和&&运算符(运算符两侧为数字的情况)

    在JavaScript中,逻辑运算符是处理布尔值的基本工具之一,主要包含三种:逻辑与(&&), 逻辑或(||) 和逻辑非(!)。本篇文章主要聚焦于逻辑与和逻辑或运算符,在数字作为操作数时的特性及行为。 ### 一、逻辑与(&&)...

    javascript中关于&& 和 || 表达式的小技巧分享|javascript-70265.pdf

    在JavaScript编程中,`&&` 和 `||` 运算符是两个非常重要的逻辑运算符,它们不仅可以用于基本的逻辑判断,还能在某些场景下帮助我们编写更简洁、高效的代码。下面将详细介绍这两个运算符的一些实用技巧。 1. **`||`...

    JavaScript & jQuery The Missing Manual, 3rd Edition

    《JavaScript & jQuery The Missing Manual, 3rd Edition》是一本专为初学者和进阶者设计的编程指南,深入浅出地介绍了JavaScript和jQuery这两门在Web开发中至关重要的技术。这本书通过清晰的讲解和丰富的实例,帮助...

    JavaScript语法&核心对象

    JavaScript是一种广泛应用于网页和网络应用的脚本语言,它的语法和核心对象构成了其强大的功能基础。这个"JavaScript语法&核心对象"的资源是中文版的CHM格式文档,旨在帮助开发者深入理解JavaScript的核心概念和机制...

    JavaScript & jQuery交互式Web前端开发

    JavaScript & jQuery交互式Web前端开发_PDF电子书下载 高清 带索引书签目录_(美)达克特著_北京:清华大学出版社

    JavaScript中的逻辑判断符&&、||与!介绍

    与C、Java不同的是,JavaScript中逻辑与(&&)和逻辑或(||)操作符可以应用在任何值上,而操作结束后返回的也不一定是boolean值。 逻辑与&&的处理规则 JavaScript中&&的处理规则是这样的: 1.判断第一个值是否为Falsy。...

    JavaScript & jQuery 交互式Web前端开发.pdf

    《JavaScript & jQuery 交互式Web前端开发.pdf》2015年的书,彩版

    JavaScript&正则表达式

    JavaScript&正则表达式JavaScript&正则表达式JavaScript&正则表达式JavaScript&正则表达式JavaScript&正则表达式JavaScript&正则表达式JavaScript&正则表达式JavaScript&正则表达式JavaScript&正则表达式JavaScript&...

    JSP&Servlet;&JavaScript;&Ajax;&jQuery;源代码.rar

    这个压缩包文件“JSP&Servlet;...例如,可能会看到如何在JSP中嵌入JavaScript和jQuery代码来处理用户输入,或者如何通过Servlet和Ajax进行后台通信。这样的实践教程对于提高开发者的技术水平和实战能力非常有帮助。

    JavaScript&jQuery;交互式Web前端开发

    通过将编程理论与用来演示JavaScript和jQuery如何被应用于流行站点之上的示例相结合,《JavaScript&jQuery;交互式Web前端开发》将教会您如何让网站更具交互性、吸引性、可用性。很快,您就能够像一名程序员那样去...

    JavaScript&DHTML&CSS中文版参考大全.rar

    这个“JavaScript&DHTML&CSS中文版参考大全.rar”压缩包很可能是包含了一系列关于这三种技术的详细教程或者参考指南,帮助学习者深入理解和应用它们。 JavaScript是一种轻量级的解释性编程语言,主要用于网页和网络...

    JavaScript&XML.rar

    JavaScript&XML.rar JavaScript&XML.rar JavaScript&XML.rar

    JavaScript & jQuery交互式Web前端开发.rar

    品名:JavaScript & jQuery...用途:前端开发人员及javascript 与 jQuery 铁粉珍爱学习资料,web前端开发或学习爱好者不可多得的学资料,本教程出自清华大学出版社,内容十分受用,喜欢技术研究和学习的您一定会懂得!

    JavaScript&jQuery;交互式Web前端开发 2

    通过将编程理论与用来演示JavaScript和jQuery如何被应用于流行站点之上的示例相结合,《JavaScript&jQuery;交互式Web前端开发》将教会您如何让网站更具交互性、吸引性、可用性。很快,您就能够像一名程序员那样去...

    [JavaScript.&.jQuery:The.Missing.Manual(2nd.2011)]

    书名中的“missing manual”暗示了本书旨在提供一种补充性的学习资料,它覆盖了JavaScript与jQuery的基础知识及高级应用技巧,这些内容通常在其他官方文档或手册中可能被忽略。 #### 描述解析: 这本书的PDF版本是...

    Web Animation using JavaScript Develop & Design mobi

    Web Animation using JavaScript Develop & Design 英文mobi 本资源转载自网络,如有侵权,请联系上传者或csdn删除 查看此书详细信息请在美国亚马逊官网搜索此书

Global site tag (gtag.js) - Google Analytics