`

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

    JavaScript中的比较操作符>、<、>=、<=介绍

    在JavaScript编程语言中,比较操作符是比较两个变量或表达式的值并返回一...掌握这些知识点,对于理解和使用JavaScript中的条件语句和循环语句来说至关重要。理解这些操作符可以帮助开发者编写出逻辑正确且高效的代码。

    总结JavaScript中布尔操作符||与&&的使用技巧|angluo-javascript-135172.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中,逻辑运算符是处理布尔值的基本工具之一,主要包含三种:逻辑与(&&), 逻辑或(||) 和逻辑非(!)。本篇文章主要聚焦于逻辑与和逻辑或运算符,在数字作为操作数时的特性及行为。 ### 一、逻辑与(&&)...

    html中<script type="module">与<script type="text/javascript">互调的例子

    html中的脚本调用<script type="text/javascript">中的脚本。 元素的onClick事件调用的脚本。

    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&...

    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前端开发》将教会您如何让网站更具交互性、吸引性、可用性。很快,您就能够像一名程序员那样去...

    1.Javascript & jQuery & Ajax & JSON

    JavaScript、jQuery、Ajax和JSON是Web开发中的四个关键概念,它们在构建动态、交互式的网页应用中发挥着重要作用。下面将分别对这四个主题进行详细阐述。 **JavaScript** 是一种轻量级的脚本语言,主要用于客户端的...

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

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

    JavaScript&XML.rar

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

Global site tag (gtag.js) - Google Analytics