JavaScript.The.Good.Parts阅读笔记(一)假值与===运算符


Posted in Javascript onNovember 16, 2010

JavaScript的假值列表如下,

 

 类型
0 Number
NaN (非数字) Number
'' (空字符串) String
false Boolean
null Object
undefined Undefined
以上的值作为判断条件,都将为假值,如:
if(undefined) { 
alert('undefined'); //这行代码不会执行 
} 
while(null) 
{ 
alert('null'); //这行代码不会执行 
}

虽然这些值全部都等同于假,但它们是不可互换的。
下面列出一些例子 :
undefined === null //false
undefined == null //true

甚至
NaN === NaN //false
NaN == NaN //false
PS:NaN跟NaN无论用哪种运算都不相等,可以用IsNaN(NaN)来解决NaN的判断问题。

==(!=)运算符会进行强制类型转换,而且转换规则相当诡异。下面是一些例子。

'' == '0' // false 
0 == '' // true 
0 == '0' // true 
false == 'false' // false 
false == '0' // true 
false == undefined // false 
false == null // false 
null == undefined // true 
' \t\r\n ' == 0 // true

建议使用===(!===)运算符。
Javascript 相关文章推荐
JavaScript 通过模式匹配实现重载
Aug 12 Javascript
javascript为下拉列表动态添加数据项
May 23 Javascript
jQuery实现简单的文件上传进度条效果
Mar 26 Javascript
图解js图片轮播效果
Dec 20 Javascript
延时加载JavaScript代码提高速度
Dec 27 Javascript
原生javascript实现自动更新的时间日期
Feb 12 Javascript
jQuery实现导航高亮的方法【附demo源码下载】
Nov 09 Javascript
基于mpvue搭建微信小程序项目框架的教程详解
Apr 10 Javascript
vue实现搜索功能
May 28 Javascript
react 组件传值的三种方法
Jun 03 Javascript
你不可不知的Vue.js列表渲染详解
Oct 01 Javascript
jQuery实现提交表单时不提交隐藏div中input的方法
Oct 08 jQuery
javascript Array对象基础知识小结
Nov 16 #Javascript
纯js实现背景图片切换效果代码
Nov 14 #Javascript
基于jquery的自定义鼠标提示效果 jquery.toolTip
Nov 14 #Javascript
cnblogs中在闪存中屏蔽某人的实现代码
Nov 14 #Javascript
基于MooTools的很有创意的滚动条时钟动画
Nov 14 #Javascript
javascript 学习笔记(onchange等)
Nov 14 #Javascript
javascript取消文本选定的实现代码
Nov 14 #Javascript
You might like
php定时删除文件夹下文件(清理缓存文件)
2013/01/23 PHP
php var_export与var_dump 输出的不同
2013/08/09 PHP
PHP PDOStatement:bindParam插入数据错误问题分析
2013/11/13 PHP
php利用新浪接口查询ip获取地理位置示例
2014/01/20 PHP
php中file_exists函数使用详解
2015/05/08 PHP
thinkphp5.1框架容器与依赖注入实例分析
2019/07/23 PHP
《JavaScript高级程序设计》阅读笔记(二) ECMAScript中的原始类型
2012/02/27 Javascript
尝试在让script的type属性等于text/html
2013/01/15 Javascript
判断js中各种数据的类型方法之typeof与0bject.prototype.toString讲解
2013/11/07 Javascript
JS特效实现图片自动播放并可控的效果
2015/07/31 Javascript
Bootstrap每天必学之下拉菜单
2015/11/25 Javascript
jQuery文件上传控件 Uploadify 详解
2016/06/20 Javascript
关于js二维数组和多维数组的定义声明(详解)
2016/10/02 Javascript
js遍历获取表格内数据的方法(必看)
2017/04/06 Javascript
JS中cookie的使用及缺点讲解
2017/05/13 Javascript
全面解析jQuery中的$(window)与$(document)的用法区别
2017/08/15 jQuery
vue实现移动端悬浮窗效果
2018/12/01 Javascript
一篇文章,教你学会Vue CLI 插件开发
2019/04/17 Javascript
Python数据结构之Array用法实例
2014/10/09 Python
使用Python中的tkinter模块作图的方法
2017/02/07 Python
python学生信息管理系统
2018/03/13 Python
python去除扩展名的实例讲解
2018/04/23 Python
Python中的几种矩阵乘法(小结)
2019/07/10 Python
python函数参数(必须参数、可变参数、关键字参数)
2019/08/16 Python
python根据字典的键来删除元素的方法
2020/08/16 Python
Python 实现微信自动回复的方法
2020/09/11 Python
美国新蛋IT数码商城:Newegg.com
2016/07/21 全球购物
采购部长岗位职责
2014/06/13 职场文书
试用期转正员工自我评价
2014/09/18 职场文书
2014教师教育实践活动对照检查材料思想汇报
2014/09/21 职场文书
教师党员学习群众路线心得体会
2014/11/04 职场文书
2014年学生工作总结
2014/11/20 职场文书
公务员年度个人总结
2015/02/12 职场文书
党支部培养考察意见
2015/06/02 职场文书
Redis模仿手机验证码发送的实现示例
2021/11/02 Redis
python分分钟绘制精美地图海报
2022/02/15 Python