是true还是false呢?
古来圣贤皆寂寞 惟有【努】者留其名 ---【努】原文:饮
先总结一个小知识点:0、null、NaN、undefined、"" 转成布尔值为false 其他则一律返回true
1、首先明白一点:初始化后的数组,即使是空数组,也是一个object 当然非空数组肯定是一个object
console.log(typeof [])//object
console.log(typeof(new Array()))//object2、既然是对象,用于判断条件就会转成trueif([]){
console.log()//1 可以打印出来
}3、但是将[]与布尔值比较却是false[]==false //true
Boolean([])//true4、但是将空数组转成Boolean却是true,既然是true 为什么[ ]==false接着往下看:Number([])//
==false总结:这说明一个问题,当空数组与布尔值进行比较时,是将==两边先转成Number在进行比较,这样可以解释的通了所以,当空数组作为判断条件时,相当于true。当空数组与布尔值直接比较时,相当于false。6、但是还有一个理解不了的问题,看下面[]==false//false ,按照上边的结论 [1] 转成Number 结果是1转成布尔值是true 没错,但是下面有个问题
new Array()==false//false 也没问题
new Array()==false//true 可是new Array(1)是却是true,,
//望大神解答?7、接着还有一小个问题[]==[] //false
[]==![]//true明明是两空数组为什么不相等呢?原因:是数组是有new Array() 创建出来的,两个数组即使值相等,它也是new Array()创建出来的两个实例对象,自然不会相等8、直接拿数值与布尔值比较console.log(==true)//false
console.log(==true)//true
console.log(1==false)//false
console.log(==true)//false
console.log(2==false)//false
console.log("------------------")
console.log(Boolean())//false
console.log(Boolean())//true
console.log(Boolean())//true
结论:①直接拿数值与布尔值进行比较,0是false,1是true,其他的数字直接与布尔值比较,无论比较2==false或2==true 结果都是false
②将数值转成布尔值只有0是false,其他都是true
是true还是false呢?的更多相关文章
- 数据库 定义 bit 类型 (true=1,false=0)
当Sql Server数据库定义 数据 为 bit 类型时, 编写代码时 要用 true or false 赋值. 例如: OffTheShelf 定义类型为 bit 后台赋值时 OffTheSh ...
- MySQL数据库中tinyint类型字段读取数据为true和false
今天遇到这么一个问题,公司最近在做一个活动,然后数据库需要建表,其中有个字段是关于奖励发放的状态的字段,结果读取出来的值为true 一.解决读取数据为true/false的问题 场景: 字段:stat ...
- javascript中的true和false
今天遇到一个问题,执行下面的代码返回true还是false?请说明理由 console.log([] == ![]) 在浏览器中运行了一下,发现结果是true.为什么会这样呢?于是查找了相关的资料. ...
- ***php解析JSON二维数组字符串(json_decode函数第二个参数True和False的区别)
客户端的请求体中的数据:[{"msg_id": 1, "msg_status": "HAS_READ" }, { "msg_id& ...
- [android警告] AndroidManifest.xml警告 Should explicitly set android:allowBackup to true or false
http://www.cnblogs.com/javadu/p/3812528.html Android中AndroidManifest.xml警告 Should explicitly set and ...
- 数据库 SQL :有关 NULL 值引发 TRUE、FALSE、UNKNOW 三值逻辑
在 Java.C# 中,相信如果是 boolean 类型值,只有两种选择 true.false.然而,在 SQL 查询中,NULL 值的引入,使得新增了 UNKNOW ,因此,就产生了 TRUE.FA ...
- JavaScript中值的真真假假(true and false)
值为flase的有: false 0 "" //空串 null undefined NaN 除了以上的之外的都是ture,包括"0" (zero in quot ...
- Android------三种监听OnTouchListener、OnLongClickListener同时实现即其中返回值true或者false的含义
引自:http://5200415.blog.51cto.com/3851969/1003113 android应用中常用的监听OnTouchListener.OnClickListener.OnLo ...
- SQLSERVER TRUE、FALSE、UNKNOWN
null和其他值比较都是unknown 在SQL中逻辑表达式的可能值包括TRUE.FALSE.UNKNOWN.他们被称为三值逻辑.三值逻辑是SQL所特有的.大多数的变成语言的逻辑表达式 只有TRUE或 ...
- True 和 False
True 和 False是Python中的关键字. 'True' 和 'False'是Python中的字符串. true 和 false 是Python中的变量名,需要提前定义.
随机推荐
- JQuery 数组按指定长度分组
JQuery方法 // 将data每3个一组进行分组 var data = ['法国','澳大利亚','智利','新西兰','西班牙','加拿大','阿根廷','美国','0','国产','波多黎各' ...
- Terminal MultipleXer---终端复用器tmux基本使用
Terminal MultipleXer---终端复用器tmux 使用场景:1.scp大文件 2:编译大文件 3:多窗口对比文件 1.安装tmux [root@localhost ~]# yum in ...
- 前沿科技-混合现实(MR)远程协作辅助工具:微缩虚拟形象Mini-Me
今天分享一篇在刚刚结束的CHI’2018上发表的full paper.该文章由来自澳洲University of South Australia的Piumsomboon等人和来自新西兰Universi ...
- 前端get和post那些事
首先,简单介绍下,get和post请求方法,综合以往笔记,现整理如下: 一.HTTP请求比较: 两种在客户端和服务器端进行请求-响应的方法是:GET和POST. GET - 从指定的资源请求数据 PO ...
- webpack loader实现
正值前端组件化开发时代,那么必然离不开目前最火的构建工具--webpack(grunt,gulp等暂且不谈).说到这里,刚好有几个问题: 为什么运行打包命令之后,.vue 文件可以转成 .js 文件 ...
- 什么是Cookie?——每日一题20190623
什么是Cookie? Cookie实际上是一小段的文本信息,客户端请求服务器,如果服务器需要记录该用户状态,就使用 response 向客户端浏览器颁发一个Cookie.客户端会把Cookie存起来, ...
- 04-09 XgBoost算法
目录 XgBoost算法 一.XgBoost算法学习目标 二.XgBoost算法详解 2.1 XgBoost算法参数 2.2 XgBoost算法目标函数 2.3 XgBoost算法正则化项 2.4 X ...
- Java集合总结—再也不怕面试问到集合了
Java集合总结 1.常见的集合 Map接口和Collection接口是所有集合框架的父接口: Collection接口的子接口包括:Set接口和List接口 Map接口的实现类主要有:HashMap ...
- tcpdump使用详情及案例
转载http://starsliao.blog.163.com/blog/static/89048201062333032563/ TCPdump抓包命令tcpdump是一个用于截取网络分组,并输出分 ...
- appium-doctor报错“JAVA_HOME is set but does not exist on the file system at "D:\work\eclipse\Java\jdk1.7.0_67;"”解决办法
卸载了jdk重新安装,重新配置环境就可以了