javascript逻辑表达式"&&"和"||"

  学习逻辑表达式时,学到了一些自己以前不理解的点,记录下来。

 运算符“&&”

  “&&”运算符可以从三个不同层次进行理解:

  第一层:当操作数都是布尔值的时候,“&&”对两个值执行布尔与(AND)操作,只有第一个操作数和第二个操作数都是true的时候,它才返回true。

  第二层:“&&”可以对真值和价值(false,null,undified,0,-0,NaN和"")进行布尔值与(AND)操作。

  第三层:运算符首先计算左操作数的值,如果计算结果是假值,那么“&&”这时简单地返回左操作数的值,如果表达式左操作数是真值时,“&&”运算符将返回右操作数的值并将其作为整个表达式的计算结果。

  如: 

var person={name:"wxt"};
var nPerson=null;
person&&person.name      //返回person.name
nPerson&&nPerson.name    //返回nPerson

 运算符“||”

  同样“||”会先计算第一个操作数的值,如果计算结果是真值,那么返回这个真值,否则再计算第二个操作数的值,并返回这个表达式的计算结果。

  

时间: 2024-11-08 07:24:31

javascript逻辑表达式"&&"和"||"的相关文章

JavaScript的“true/false && expression”逻辑表达式

true/false && expression 在学习react的过程中,遇到了如下一个方法: function Mailbox(props) { const unreadMessages = props.unreadMessages; return ( <div> <h1>Hello!</h1> {unreadMessages.length > 0 && <h2> You have {unreadMessages.l

从零基础入门JavaScript(1)

从零基础入门JavaScript(1) 1.1  Javascript的简史 1995年的时候   由网景公司开发的,当时的名字叫livescript    为了推广自己的livescript,搭了java顺风车,改名为javascript 与此同时,     微软因此在自身的浏览器里,也推出了自己的脚本语言 jscript 1997年时候,  由ECMA(欧洲计算机制造商协会)出面,推出了一套javascript的规范,Ecmascript ,规范提出js由三部分组成 JS的组成: ECMAS

javascript 学习(2)

1.表达式 1.1原始表达式:包括常亮或直接量,关键字和变量.其中直接量是直接在表达式中出现的常量. 1.2对象和数组的初始化表达式:他们不是原始表达式,因为他们所包含的成员或元素都是子表达式. 注:对于var  arr = [,];在ie下数组长度为2,火狐和谷歌浏览器下长度为1,最后一个逗号后的创建新的undefined元素. 1.3 函数定义表达式 1.4属性访问表达式:得到的是一个对象属性或数组元素值,访问方式为 e.属性名称  或e[索引];如果访问结果为null或undefined,

玩转JavaScript OOP[0]&mdash;&mdash;基础类型

前言 long long ago,大家普遍地认为JavaScript就是做一些网页特效的.处理一些事件的.我身边有一些老顽固的.NET程序员仍然停留在这种认知上,他们觉得没有后端开发肯定是构建不了系统的. 编程语言和技术的结合使用,就像一个男人娶了好几个妞一样.在旧的时代,.NET是大房,JavaScript是偏房.大房是"后宫之主",不仅要操持家业,还能给你生娃,娃将来也要继承家业的.偏房就没那么幸运了,在"后宫"没什么地位,虽然衣食无忧,但不能管理家族事务,生的

《JavaScript权威指南》学习笔记——Day2

放假了,放自己一天的假,打了一天的游戏,也算圆满了.今天继续学习.不知道我离优秀的程序员还有多少路要走,每天一步一个脚印,终有一天可以完成自己的心愿和理想吧. 第4章 表达式和运算符 4.1 原始表达式 1.JavaScript中的原始表达式包含常量(直接量).关键字和变量. 1.23 //  数字直接量 true //   关键字 i  //  返回变量i的值 4.2 数组和对象的初始化表达式 1.数组和对象的表达式是可以嵌套的,比如a=[[1,2],[3,4],[5,6]]. 2.数组中的逗

JavaScript表达式&amp;运算符

算术运算符 如果操作数(或者转换结果)是NaN值,算术运算的结果也是NaN. 除数为0的运算结果为正无穷大或负无穷大,而0/0的结果是NaN,所有这些运算均不会报错. "+"运算符 如果其中一个操作数是对象,则将对象转换成原始值(除日期对象外都优先使用valueOf()转换). 在进行了对象到原始值的转换后,如果其中一个操作数是字符串的话,另一个操作数也会转换为字符串,然后进行字符串连接. 否则,两个操作数都将转换为数字(或者NaN),然后进行加法操作. 1 + 2 // 3 &quo

javascript Array学习与使用

一.Javascript数组是无类型的:数组元素可以任意类型,并且同一个数组中的不同元素也可能有不同的类型,javascript数组是动态的,会根据需要增长或者缩减,每一个数组都有一个length属性.它不是只读的,可以通过设置这个属性值,从数组的末尾移除项,或者添加新项 二.创建数组 (1)数组字面量表示方法: Var colors=[true,1,"green"]; //创建包含3个字符串的数组. Var arr=[];//创建一个空数组 Var b=[1,{x:1,y:2},[2

Javascript 常用函数【1】

1:基础知识 1 创建脚本块 1: <script language=”JavaScript”> 2: JavaScript code goes here 3: </script> 2 隐藏脚本代码 1: <script language=”JavaScript”> 2: <!– 3: document.write(“Hello”); 4: // –> 5: </script> 在不支持JavaScript的浏览器中将不执行相关代码 3 浏览器不

Javascript中的五种数据类型

Undefined 未定义.只有一个值undefined Null         只有一个值,null Boolean 在javascript中,只要逻辑表达式不返回undefined不返回null,就都是真的. if(3) true if(null) false if(undefined) false Number   String javascript中不存在char类型. 字符串定义可以用单引号,也可以用双引号. <html> <head> <script type=