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 相关文章推荐
js CSS操作方法集合
Oct 31 Javascript
利用js实现前台动态添加文本框,后台获取文本框内容(示例代码)
Nov 25 Javascript
jquery获取checkbox的值并post提交
Jan 14 Javascript
jQuery仿淘宝网产品品牌隐藏与显示效果
Sep 01 Javascript
jQuery实现仿QQ空间装扮预览图片的鼠标提示效果代码
Oct 30 Javascript
javascript面向对象程序设计高级特性经典教程(值得收藏)
May 19 Javascript
jQuery中.attr()和.data()的区别分析
Sep 03 jQuery
9种改善AngularJS性能的方法
Nov 28 Javascript
使用JavaScript破解web
Sep 28 Javascript
Vue路由history模式解决404问题的几种方法
Sep 29 Javascript
小程序:授权、登录、session_key、unionId的详解
May 15 Javascript
layui监听下拉选框选中值变化的方法(包含监听普通下拉选框)
Sep 24 Javascript
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的开发框架的现状和展望
2007/03/16 PHP
PHP实现阿里大鱼短信验证的实例代码
2017/07/10 PHP
PHP封装的page分页类定义与用法完整示例
2018/12/24 PHP
用javascript实现读取txt文档的脚本
2007/07/20 Javascript
JavaScript 事件属性绑定带参数的函数
2009/03/13 Javascript
JavaScript Tips 使用DocumentFragment加快DOM渲染速度
2010/06/28 Javascript
Pro JavaScript Techniques学习笔记
2010/12/28 Javascript
js Map List 遍历使用示例
2013/07/10 Javascript
javascript预加载图片、css、js的方法示例介绍
2013/10/14 Javascript
IE下window.onresize 多次调用与死循环bug处理方法介绍
2013/11/12 Javascript
js 页面元素的几个用法总结
2013/11/18 Javascript
jQuery中复合属性选择器用法实例
2014/12/31 Javascript
JavaScript中的类与实例实现方法
2015/01/23 Javascript
angularJS结合canvas画图例子
2015/02/09 Javascript
Angular中的Promise对象($q介绍)
2015/03/03 Javascript
AngularJS中实现动画效果的方法
2016/07/28 Javascript
JavaScript中如何使用cookie实现记住密码功能及cookie相关函数介绍
2016/11/10 Javascript
JavaScript常用正则函数用法示例
2017/01/23 Javascript
浅谈键盘上回车按钮的js触发事件
2017/02/13 Javascript
详解VueRouter进阶之导航钩子和路由元信息
2017/09/13 Javascript
原生JS进行前后端同构
2018/04/22 Javascript
Vue form表单动态添加组件实战案例
2019/09/02 Javascript
jQuery单页面文字搜索插件jquery.fullsearch.js的使用方法
2020/02/04 jQuery
[01:16:16]DOTA2-DPC中国联赛定级赛 RNG vs Phoenix BO3第二场 1月8日
2021/03/11 DOTA
Python中关于使用模块的基础知识
2015/05/24 Python
TensorFlow模型保存/载入的两种方法
2018/03/08 Python
Python Scrapy多页数据爬取实现过程解析
2020/06/12 Python
Python pip install之SSL异常处理操作
2020/09/03 Python
HTML5 实战PHP之Web页面表单设计
2011/10/09 HTML / CSS
HTML5 History API 实现无刷新跳转
2016/01/11 HTML / CSS
HTML5开发动态音频图的实现
2020/07/02 HTML / CSS
Made in Design德国:设计师家具、灯具和装饰
2019/10/31 全球购物
艺人经纪人岗位职责
2014/04/15 职场文书
稽核岗位职责范本
2015/04/13 职场文书
分布式架构Redis中有哪些数据结构及底层实现原理
2022/03/13 Redis
Android Flutter实现3D动画效果示例详解
2022/04/07 Java/Android