1. ture或者false的值

if判断中会被隐式转换成false的boolean类型的值有 false, 0, undefined , null , '', NaN(not a number)

除此外 其他的值会被认为true, 包括 '0', 'false', 空function, 空数组([]),空对象({})

var a = !!(0);// 等价于 var a = false;

var a = !!('0'); // 等价于 var a = true; 

2.  falsy值的比较

  值为 false , '', 0 三者进行值比较,如下:

alert(false == '');//true
alert(false == 0);//true
alert(0 == '');//true

  false,'',0 与 undefined , null 之间的比较,结果如下:

alert(false == undefined);//false
alert('' == null);//false
alert('' == undefined);//false

 

alert(undefined == undefined);//true
alert(null == null);//true

 可以看到,0, '', false 这三者进行值比较是相等的,undefinde, null 除与自身相比外,与其他任何类型值进行比较都是不等的

NaN与其他类型falsy values值比较情况如下:

alert(false == NaN);//false
alert(0 == NaN);//false
alert('' == NaN);//false
alert(undefined == NaN);//false
alert(null == NaN);//false
alert(NaN == NaN);//false

  由结果得知,NaN与任何类型的值都不相等,包括自身. 如何判断NaN类型的值

alert(typeof(NaN));//number
alert(isNaN(NaN));//true

  

javascript中false值及其常见比较运算的更多相关文章

  1. 前端要给力之:语句在JavaScript中的值

    文件夹 文件夹 问题是语句有值吗 那么说你骗我咯 有啥米用呢 研究这个是不是闲得那个啥疼 ES5ES6有什么差异呢 结论是ES6是改了规则但更合理 最后不不过if语句 这两天在写语言精髓那本书的第三版 ...

  2. JavaScript中的值和引用

    JavaScript5中有6种基本数据类型:undefined.null.布尔值(Boolean).字符串(String).数值(Number).对象(Object) ES6中新引入一种原始数据类型: ...

  3. javascript中可变值与不可变值(原始值)

    字符串原始值修改不了1 var str = "abc"; 2 str[0] = "d"; 3 console.log(str[1]="f") ...

  4. JavaScript中Unicode值转字符

    在JavaScript中,将Unicode值转字符的方法: <!DOCTYPE html> <html> <head> <meta charset=" ...

  5. JavaScript中Object值合并方法

    原文:https://www.cnblogs.com/fullstack-yang/p/8085206.html ------------------------------------ 前言:在日常 ...

  6. Javascript中null值,特别注意的两点

    null 是一个javascript字面量,表示空值,就是没有对象被呈现.他是javascript原始值之一.null值常被放在期望一个对象上,但是不引用任何对象的参数位置,也就是说对象的初始化. 我 ...

  7. javascript中的值如何传递到django下的views.py中或者数据库中?

    用Ajax,Ajax有很多种写法,包括JQuery和JS,这里贴一个用JQuery写的最通用的Ajax,POST方法传递JSON格式数据: $.ajax({ url: "your url&q ...

  8. javascript中值传递与值引用的研究

    今天重新看了一下<javascript高级程序设计>,其中讲到了javascript中的值传递和值引用,所以就自己研读了一下,但是刚开始没有明白函数中的参数只有值传递,有的场景好像参数是以 ...

  9. JavaScript中值类型和引用类型的区别

    JavaScript的数据类型分为两类:原始类型和对象类型.其中,原始类型包括:数字.字符串和布尔值.此外,JavaScript中还有两个特殊的原始值:null和undefined,它们既不是数字也不 ...

随机推荐

  1. JSOI2007建筑抢修

    实际上和大多这类题一样(比如wikioi上的地鼠游戏),考察的都是堆的操作 这次改完之后就算把堆的模版定下来了 悲剧的是:大根堆打成了小根堆,导致一开始一直是10分…… 按结束时间排序,(经过验证,结 ...

  2. 【Markdown】Writing on Github - 在GitHub上写作

    Writing on GitHub https://github.com/shalliestera/Writing-on-GitHub-Chinese-Translation Markdown 基本语 ...

  3. [开发工具] 史上最全系列之开发环境搭建之DDMS

    原文链接:http://www.eoeandroid.com/forum.php?mod=viewthread&tid=275774 一.简介 DDMS 的全称是DalvikDebug Mon ...

  4. 在ubuntu on windows 上安装jekyll

    已知问题 安装ruby之后,重新启动ubuntu on windows,输入ruby命令,提示找不到. 发现的解决办法 执行下面命令 source /home/xxxx/.rvm/scripts/rv ...

  5. 【转】java list用法示例详解

    转自:http://www.jb51.net/article/45660.htm java中可变数组的原理就是不断的创建新的数组,将原数组加到新的数组中,下文对java list用法做了详解. Lis ...

  6. 第一章 Lambda表达式

    1.1 Why Lambdas? 当你操作多线程的时候,你会像下面这样将要处理的代码放到run()函数中: class Worker implements Runnable { public void ...

  7. Android的有关EditText的能多行显示但无法禁止自动换行的Bug!

    需求: 使 EditText或TextView 支持 多行显示,但是不自动换行,即能水平滚动较长的内容. Bug: 想当然的,在XML定义中设置如下,应该就可以了. android:scrollHor ...

  8. unity3d自己写角色移动脚本

    废话没有,直接上代码: using UnityEngine; using System.Collections; public class SuperWalk : MonoBehaviour { pu ...

  9. NOIP算法总结

    前言 离NOIP还有一个星期,匆忙的把寒假整理的算法补充完善,看着当时的整理觉得那时还年少.第二页贴了几张从贴吧里找来的图片,看着就很热血的.旁边的同学都劝我不要再放PASCAL啊什么的了,毕竟我们的 ...

  10. Hadoop文件系统常用命令

    1.查看指定目录下内容 hadoop dfs –ls [文件目录] eg: hadoop dfs –ls /user/wangkai.pt 2.打开某个已存在文件 hadoop dfs –cat [f ...