javascript中boolean的类型转换,运算符和|| 的返回值

news/2024/5/19 1:02:37

javascript是一种弱类型的语言,任何数据类型都能转换成boolean类型,转换规则如下:

数据类型                 转换为boolean后的值

NAN                        FALSE
null                          FALSE
undefined                FALSE
Object                     TRUE
Function                  TRUE
0                              FALSE 
非零的数字              TRUE

""(空字符串)             FALSE
非空字符串              TRUE

 

知道这个转换规则,主要是为了学习逻辑运算符 && 和 ||。在Java中,逻辑运算符仅仅适用于boolean类型,返回结果也一定是boolean类型。但是在javascript中逻辑运算符可以返回任何类型的数据,不仅仅是true和false
很多JS框架如JQuery中,都有如下形式的代码,这种写法很简洁,但前提是你要明白这种写法到底返回什么。

var target = arguments[0] || {}



&&和||的运算规则如下:

a && b : 将a, b转换为Boolean类型, 再执行逻辑与, 如果结果是true返回b, false返回a
a || b :    将a, b转换为Boolean类型, 再执行逻辑或, 如果结果是true返回a, false返回b

 


http://www.niftyadmin.cn/n/2097858.html

相关文章

OAuth2学习笔记

2019独角兽企业重金招聘Python工程师标准>>> 目前很多开放平台如新浪微博开放平台都在使用提供开放API接口供开发者使用,随之带来了第三方应用要到开放平台进行授权的问题,OAuth就是干这个的,OAuth2是OAuth协议的下一个版本&#…

解析器

源码分析 1 在调用request.data时,才进行解析,由此入手propertydef data(self):if not _hasattr(self, _full_data):self._load_data_and_files()return self._full_data2 查看self._load_data_and_files()方法---->self._data, self._files self._p…

了解javascript中的apply和call

apply和call是javascript中很重要的方法,虽然平时编程很少接触到,但是JS框架中到处在使用这2个方法。 这2个方法是在Function.prototype中,也就是说每个JS函数都有这2个方法。 alert(Function.prototype.hasOwnProperty("apply")…

2018.6.14

2018.6.14 引入回跳规则(BackJump Rule): [I1,P∘,I2]∥F↪[I1,ℓ]∥F,(C→l)if{[I1,P∘,I2]⊭FExistsCs.t.:F⇒(C→l)I1⊨Cvar(ℓ)undef.inI1var(ℓ)appearsinF[I_1,P^{\circ},I_2]\lVert F\hookrightarrow [I_1,\ell]\lVert F, (C\to l)~if \begin{cases}[I_1,P^{\circ},I…

进制间的互相转换适用版

好久不用进制转换,都忘了 今天回想一下,记录下自己最适合的方法,就是把要转换的进制先换成二进制,再转成目标进制 先是十进制转二进制: 依次除于2,能整除的记录0,不能整除的记录1 4这就是最后的…

计算机里面没有桌面的选项,解决鼠标右击桌面弹出菜单中没有个性化选项问题...

替代方案:在家庭基础版中我们可以通过以下方法进行相关的设置和更改:请打开 控制面板 ,将 查看方式 设置为 大图标 。鼠标指针方案可以通过点击 鼠标 组件进行设置。账户图片可以通过点击 用户账户 组件后,选择 更改图片 进行设置…

【Kali】kali linux的安装和配置

资源准备制作U盘启动盘准备kali_Linux的分区禁用快速启动安装kali_linux配置wifi网络在这篇Blog中笔者将会讲解如何安装kali_linux,kali可以安装到虚拟机上,但这里笔者强烈建议不要安装到虚拟机上,虚拟机上的kali系统可能会有某些功能不能使用&#xff0…

javascript中的稀疏数组(sparse array)和密集数组

学习underscore.js数组相关API的时候,遇到了sparse array这个东西,以前没有接触过。 这里学习下什么是稀疏数组和密集数组。 什么是密集数组呢?在java和C语言中,数组是一片连续的存储空间,有着固定的长度。加入数组其…