javascript基础:逻辑运算符

1、&&/||返回能够被转换为布尔值的值

&&操作符不一定返回布尔值true/false,但总是返回一个能转换为布尔值的值,这决定于用于比较的是什么值。

非0数字转为true,数字0转为false,null、undefined转为false,对象、数组、函数表达式、非空字符串转为true,空字符转为false,函数执行时返回计算结果。

注意即使是空数组或不含任何属性的对象都返回true。

含有NaN类型的比较返回NaN。

&&的操作顺序是从左至右,当左边的计算值为false或转换后的值为false时,右边的值计算值将不再比较。

function t(){
  return 0 && -1;
}
console.log(t());

0

上式中,0 && –1逻辑与比较,因为0转换为布尔值为false,因此,-1不再计算比较,只计算左边的值--0。

console.log(function(){} && -1);

-1

特殊情况:

console.log(NaN && -1);

NaN

console.log([] && -1);

-1

如果逻辑与比较左边的运算结果为true,则返回最后一位比较结果。

console.log(true && {} && 0);

0

最后的结果为0,因为0转换为布尔值为false。因此在判断中

if(true && {} && 0)

     alert(‘ok’);

else

     alert(‘fail’);

中,将弹出fail。

2、逻辑运算符在实际中的运用

同行执行多个计算:

fun1() && fun2();

如果fun1运算结果为true,则继续执行fun2,它不计较fun2最后返回的是什么结果。

var aa = aa || 1;
console.log(aa);

1

这利用了||会返回结果的特性。如果aa已定义,则返回aa定义的值,如果没有,则返回数字1。

var a = 1 && [];
console.log(a);

[]

如果一个函数不返回结果,则默认返回undefined。

function Y(){
}
console.log(Y());

undefined

时间: 2024-12-28 21:03:03

javascript基础:逻辑运算符的相关文章

【JavaScript基础】------有待完善

最近开始学习JavaScript,整理了一些相关的基础知识,日后继续完善~~~ JS注释方式:// 单行注释(Ctrl+/ )/* 段落注释(Ctrl+shift+/ )*/ JavaScript基础JavaScript:基于浏览器 .基于(面向)对象.事件驱动.脚本语言JavaScript的作用:表单验证,减轻服务的压力,添加页面动画效果,动态更改页面内容,Ajax网络请求(Ajax:可以实现页面局部刷新)JavaScript组成部分:ECMAScript(5.1/6).DOM.BOMECMA

Javascript基础篇小结

Javascript基础篇小结 字数9973 阅读3975 评论7 喜欢28 转载请声明出处 博客原文 随手翻阅以前的学习笔记,顺便整理一下放在这里,方便自己复习,也希望你有也有帮助吧 第一课时 入门基础 知识点: 操作系统就是个应用程序 只要是应用程序都要占用物理内存 浏览器本身也是一个应用程序 浏览器本身只懂得解析HTML 调用浏览器这个应用程序的一个功能绘制 1.javascript介绍 JavaScript操作DOM的本质是=获取+触发+改变 目的:就是用来操作内存中的DOM节点 修改D

JavaScript基础总结

JavaScript高级的学习在于对象的学习,而这些的基础就是JavaScript基础了,所以在学习高级之前先将JavaScript基础部分复习一下吧. 第一部分:变量 变量是贯穿了JavaScript学习和应用的每个方面,在变量部分我们需要掌握以下几个方面: 1 变量作用域 变量的作用域分为两个:全局作用域和局部作用域 全局作用域:指script标签下的全局范围内. 全局变量:指在script标签根节点声明的变量为全局变量,或者window.变量的方式获取的变量也为全局变量,或者函数中未被声明

javascript基础学习(三)

javascript之运算符 学习要点: 表达式 运算符:一元运算符,算术运算符,关系运算符,逻辑运算符,*位运算符,赋值运算符 一.表达式 表达式有常量表达式,变量表达式,复合表达式. 二.算术运算符 一元:+(正号).-(负号).++.—— 二元:*./.%.+.- 三.关系运算符 ==.=== ps:等同运算符比相等运算符要求更为严格,等同运算符只有在两个操作数类型相同,并且值也相同的情况下才会返回true. <.<=.>.>= instanceof运算符.       in

前端之JavaScript基础

前端之JavaScript基础 本节内容 JS概述 JS基础语法 JS循环控制 ECMA对象 BOM对象 DOM对象 1. JS概述 1.1. javascript历史 1992年Nombas开发出C-minus-minus(C-)的嵌入式脚本语言(最初绑定在CEnvi软件中).后将其改名ScriptEase.(客户端执行的语言) Netscape(网景)接收Nombas的理念,(Brendan Eich)在其Netscape Navigator 2.0产品中开发出一套livescript的脚本

史上最全、JavaScript基础篇

索宁 Hot summer nights mid July, when you and  I were forever wild. 首页 新随笔 联系 管理 随笔 - 12  文章 - 5  评论 - 19 史上最全.JavaScript基础篇 本章内容: 简介 定义 注释 引入文件 变量 运算符 算术运算符 比较运算符 逻辑运算符 数据类型 数字 字符串 布尔类型 数组 Math 语句 条件语句(if.switch) 循环语句(for.for in.while.do-while) label语

javascript 基础1第11节

<html> <head> <title>javascript基础</title> </head> <body> 1.NaN isNaN()</br> <script type="text/javascript"> //数据类型转换失败 返回NaN类型 document.write("parseInt('a') : " ,parseInt('a'),"<b

JavaScript 基础学习1-day14

JavaScript 基础学习1 知识预览JavaScript概述二 JavaScript的基础三 JavaScript的对象BOM对象DOM对象实例练习js扩展 JavaScript概述 JavaScript的历史 1992年Nombas开发出C-minus-minus(C--)的嵌入式脚本语言(最初绑定在CEnvi软件中).后将其改名ScriptEase.(客户端执行的语言) Netscape(网景)接收Nombas的理念,(Brendan Eich)在其Netscape Navigator

web前端【第五篇】JavaScript基础

一.JavaScript的历史 1992年Nombas开发出C-minus-minus(C--)的嵌入式脚本语言(最初绑定在CEnvi软件中).后将其改名ScriptEase.(客户端执行的语言) Netscape(网景)接收Nombas的理念,(Brendan Eich)在其Netscape Navigator 2.0产品中开发出一套livescript的脚本语言.Sun和Netscape共同完成.后改名叫Javascript 微软随后模仿在其IE3.0的产品中搭载了一个JavaScript的

javascript基础入门之js中的数据类型与数据转换01

javascript基础入门之js中的数据结构与数据转换01 js的组成(ECMAScript.BOM.DOM)        js中的打印语句:        数据类型        变量        运算符        数据类型转换        js中三大特殊值 js的组成(ECMAScript.BOM.DOM) ①ECMAScript: ECMAScript是一个标准,它规定了语法.类型.语句.关键字.保留子.操作符.对象.(相当于法律):②BOM(浏览器对象模型):对浏览器窗口进行