`
royzhou1985
  • 浏览: 254453 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

javascript 与或非运算符详解

阅读更多
突然发现逻辑与或操作对象的问题,查了一下国外的资料。下面是自己的总结:

逻辑与
注意:逻辑与操作数可以是任何类型,不仅仅是bool类型的
当其中一个操作数不是bool类型时,其返回值不一定是bool类型的

如果一个操作数是object,另外一个操作数是bool类型的,返回bool值:
例: document.body && false = false;

如果两个操作数都是object,返回第二个操作数
例: document.body && 123 = 123; 123 && document.body = object

任意一个操作数是null,返回null
任意一个操作数是NaN,返回NaN
任意一个操作数是undefined,返回undefined
例: true && null = null; true && NaN = NaN; true && undefined = undefined;

Logical AND

var bTrue = true;
var bFalse = false;
var bResult = bTrue && bFalse;

Attention:Logical AND can be used with any type of operands, not just Boolean values. When either operand is not a primitive Boolean, logical AND does not always return a Boolean value:

If one operand is an object and one is a Boolean, the object is returned.(有错误)
If both operands are objects, the second operand is returned.
If either operand is null, null is returned.
If either operand is NaN, NaN is returned.
If either operand is undefined, an error occurs.(有错误)


逻辑或
注意:类似逻辑与一样,如果两个操作数不都是bool类型的时候,返回值不一定是bool类型的

如果一个操作数是object另外一个是bool类型,返回object
例: document.body || false = object;

如果两个操作数都是object,返回第一个object
例: 123 || document.body = 123 ; document.body || 123 = object

如果两个操作数都是null,返回null,NaN 和 undefined类似
例: null || null = null; NaN || NaN = NaN; undefined || undefined = undefined;

如果两个之中有一个是null或NaN或者undefined,返回另外一个操作数
例: null || 123 = 123; NaN || 123 = 123; undefined || document.body = object;

Logical OR

var bTrue = true;
var bFalse = false;
var bResult = bTrue || bFalse;

注意:Just like logical AND, if either operand is not a Boolean, logical OR will not always return a Boolean value:

If one operand is an object and one is a Boolean, the object is returned.
If both operands are objects, the first operand is returned.
If both operands are null, null is returned.
If either operand is NaN, NaN is returned. (测试了下,返回另外一个操作数)
If either operand is undefined, an error occurs.  (测试了下,返回另外一个操作数)
分享到:
评论
1 楼 helloworld1987 2010-07-10  
不用这么麻烦吧,我的理解是:

var e = evt || window.event;
//等同于
var e = !!evt ? event : window.event;


e = evt && window.event;
//等同于
var e = !evt ? event : window.event;


相关推荐

    javascript表达式和运算符详解.docx

    javascript 表达式和运算符详解 javascript 表达式是指能计算出值得任何可用程序单元。它是一种短语,javascript 解释器用来产生一个值。javascript 表达式可以分为六种类型:原始表达式、初始化表达式、函数表达式...

    js中的 -- 与 && 运算符详解.docx

    JS 中的 -- 与 && 运算符详解 在 JavaScript 中,-- 和 && 运算符是两个非常重要的逻辑运算符,它们在开发中被广泛应用。下面,我们将详细介绍这两个运算符的使用规则和应用场景。 规律与(&&) 规律与运算符 && ...

    javascript等号运算符使用详解.docx

    JavaScript 等号运算符使用详解 JavaScript 等号运算符是 JavaScript 编程语言中的一种基本运算符,用于比较两个操作数是否相等。在 JavaScript 中,等号运算符使用双等号(==)表示,当且仅当两个操作数相等时,它...

    golang中为什么不存在三元运算符详解

    在Golang中,你可能会发现一个与其他编程语言不同的特点,那就是它不支持三元运算符。三元运算符通常在其他语言如Python、JavaScript、C++等中被广泛使用,其语法形式为`条件表达式 ? 真值表达式 : 假值表达式`。...

    《JavaScript基础与案例开发详解》

    由于提供的文件信息不包含实质性的内容描述,而是反复提及《JavaScript基础与案例开发详解》这本书以及一个网址***,这导致无法从中抽取具体的知识点。为了满足您的要求,我将基于“JavaScript基础与案例开发”这一...

    javascript表达式和运算符详解

    JavaScript中的表达式和运算符是编程的基础,它们用于计算和操作数据。在这篇文章中,我们将深入探讨这些概念。 首先,让我们了解JavaScript中的表达式。表达式是能够产生一个值的代码片段。根据定义,它可以是常量...

    JavaScript语言笔记包括运算符、条件语句、循环、类型转换等

    **JavaScript运算符**是用于执行基本算术操作的关键组成部分。下面将详细介绍算术运算符、赋值运算符以及字符串运算符。 ##### 算术运算符 1. **加法 (`+`)**: 用于两个数值之间的加法运算。 2. **减法 (`-`)**: ...

    详解JavaScript的表达式与运算符

    JavaScript中的表达式与运算符是编程的基础,它们用于计算和操作数据。在这篇文章中,我们将深入探讨这些概念。 首先,让我们来看看一元运算符。一元运算符仅需要一个操作数,分为递增`++`和递减`--`两种。它们既...

    JavaScript完全入门_04__JavaScript的数据类型和运算符.pdf

    ### JavaScript 数据类型与运算符详解 #### 一、引言 在《JavaScript完全入门_04__JavaScript的数据类型和运算符.pdf》这份资料中,主要介绍了JavaScript中的基础概念,包括语法规则、基本数据类型、变量、表达式...

    javascript运算符——逻辑运算符全面解析

    下面小编就为大家带来一篇javascript运算符——逻辑运算符详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    javascript等号运算符使用详解

    总之,了解并掌握JavaScript中等号运算符的使用规则,特别是与全等号运算符的区别,对于避免编写出逻辑错误的代码、确保代码的可读性和可维护性非常重要。在实际开发中,建议在能够确保操作数类型相同时使用全等...

    js中的 || 与 && 运算符详解

    这一点与C#等其他语言有所不同,在JavaScript中,&&运算符返回的是操作数的值,而不是布尔值true或false。 ### 2. 逻辑或运算符(||) 逻辑或运算符(||)用来检查两个操作数中是否至少有一个条件为真。如果有一个条件...

    Javascript实现运算符重载详解

    本文给大家汇总介绍了Javascript实现运算符重载的方法,实现的思路很简单,有需要的小伙伴可以来看看

    JavaScript+DHTML语法与范例详解词典.zip

    在这个“JavaScript+DHTML语法与范例详解词典”中,我们可以深入探讨这两个领域的核心概念和实际应用。 JavaScript,由网景公司的Brendan Eich创造,是一种轻量级的脚本语言,主要用于客户端的网页开发。它允许...

    JavaScript初识及基本语法详解

    ### JavaScript 初识及基本语法详解 #### 一、JavaScript 概述 JavaScript 是一种广泛应用于 Web 开发的脚本语言,它具有基于对象和事件驱动的特点,主要用于增强网页的动态性和交互性。该语言由 Netscape 公司的 ...

    JavaScript详解.doc

    JavaScript中的运算符与Java大体相同,但有几点需要注意。例如,除法运算不会自动四舍五入,整除时可能会得到意外的结果;加号在字符串与数字相加时起到连接作用;逻辑运算符`&&`和`||`与位运算符`&`和`|`在用途上...

Global site tag (gtag.js) - Google Analytics