javascript中false值及其常见比较运算
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值及其常见比较运算的更多相关文章
- 前端要给力之:语句在JavaScript中的值
文件夹 文件夹 问题是语句有值吗 那么说你骗我咯 有啥米用呢 研究这个是不是闲得那个啥疼 ES5ES6有什么差异呢 结论是ES6是改了规则但更合理 最后不不过if语句 这两天在写语言精髓那本书的第三版 ...
- JavaScript中的值和引用
JavaScript5中有6种基本数据类型:undefined.null.布尔值(Boolean).字符串(String).数值(Number).对象(Object) ES6中新引入一种原始数据类型: ...
- javascript中可变值与不可变值(原始值)
字符串原始值修改不了1 var str = "abc"; 2 str[0] = "d"; 3 console.log(str[1]="f") ...
- JavaScript中Unicode值转字符
在JavaScript中,将Unicode值转字符的方法: <!DOCTYPE html> <html> <head> <meta charset=" ...
- JavaScript中Object值合并方法
原文:https://www.cnblogs.com/fullstack-yang/p/8085206.html ------------------------------------ 前言:在日常 ...
- Javascript中null值,特别注意的两点
null 是一个javascript字面量,表示空值,就是没有对象被呈现.他是javascript原始值之一.null值常被放在期望一个对象上,但是不引用任何对象的参数位置,也就是说对象的初始化. 我 ...
- javascript中的值如何传递到django下的views.py中或者数据库中?
用Ajax,Ajax有很多种写法,包括JQuery和JS,这里贴一个用JQuery写的最通用的Ajax,POST方法传递JSON格式数据: $.ajax({ url: "your url&q ...
- javascript中值传递与值引用的研究
今天重新看了一下<javascript高级程序设计>,其中讲到了javascript中的值传递和值引用,所以就自己研读了一下,但是刚开始没有明白函数中的参数只有值传递,有的场景好像参数是以 ...
- JavaScript中值类型和引用类型的区别
JavaScript的数据类型分为两类:原始类型和对象类型.其中,原始类型包括:数字.字符串和布尔值.此外,JavaScript中还有两个特殊的原始值:null和undefined,它们既不是数字也不 ...
随机推荐
- Java [Leetcode 217]Contains Duplicate
题目描述: Given an array of integers, find if the array contains any duplicates. Your function should re ...
- Java [Leetcode 100]Same Tree
题目描述: Given two binary trees, write a function to check if they are equal or not. Two binary trees a ...
- Ext基础一(转载)
要学习及应用好Ext框架,必须需要理解Html DOM.Ext Element及Component三者之间的区别. 每一个HTML页面都有一个层次分明的DOM树模型,浏览器中的所有内容都有相应的DOM ...
- Java Script 正则表达式的使用示例
一.语法 1.1 在JS中的使用代码 var myregex = new RegExp("^[-]?[0-9][0-9]{0,2}\\.[0-9]{5,15}\\,\s*[-]?[0-9][ ...
- Java虚拟机笔记 – JVM 自定义的类加载器的实现和使用2
1.用户自定义的类加载器: 要创建用户自己的类加载器,只需要扩展java.lang.ClassLoader类,然后覆盖它的findClass(String name)方法即可,该方法根据参数指定类的名 ...
- Zabbix探索:LDAP的认证方式
这两天部署了Zabbix测试环境,终于用Puppet部署完成了.总是存在一些小问题,如服务不起动啦之类的. LDAP验证方式配置 刚刚配置Zabbix的用户管理,使用LDAP方式认证. 比较惊喜的是L ...
- 【译】 AWK教程指南 7AWK应用实例
本节将示范一个统计上班到达时间及迟到次数的程序. 这程序每日被执行时将读入两个数据文件: * 员工当日到班时间的数据文件 ( 如下列的 arr.dat ) * 存放员工当月迟到累计次数的文件 当程序执 ...
- 【HTML】Advanced7:Embedded Content: Video, Audio, and Canvas
1.video <video src="kitties.mp4" poster="fluffy.jpg"(display before video is ...
- oracle修改process和session数
第一步:连接服务器,输入sqlplus 第二步:以sysdba身份登陆 第三步:查看和修改processes和sessions参数 1. 查看processes和sessions参数 select * ...
- 使用Genymotion作Android开发模拟器:安装Genymotion、部署Genymotion Vitrue Device、安装Genymotion eclipse插件
偶然听说Genymotion Android模拟器非常强大,到网上了解一番后,决定从AVD又慢又卡中解脱出来,折腾了半天终于部署好了,体验了一下,果然启动快,运行流畅,现在总结一下经验教训,供大家参考 ...