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 Pro-深入面向对象的程序设计之继承的详解
May 07 Javascript
以JSON形式将JS中Array对象数组传至后台的方法
Jan 06 Javascript
JS实现带有抽屉效果的产品类网站多级导航菜单代码
Sep 15 Javascript
JavaScript数组方法大全(推荐)
Jul 05 Javascript
JS获取鼠标相对位置的方法
Sep 20 Javascript
JS前向后瞻正则表达式定义与用法示例
Dec 27 Javascript
使用ajax的post同步执行(实现方法)
Dec 21 Javascript
JavaScript闭包原理与用法实例分析
Aug 10 Javascript
vue使用codemirror的两种用法
Aug 27 Javascript
Vue2.0 实现页面缓存和不缓存的方式
Nov 12 Javascript
webpack 动态批量加载文件的实现方法
Mar 19 Javascript
前端vue+elementUI如何实现记住密码功能
Sep 20 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读取txt文件组成SQL并插入数据库的代码(原创自Zjmainstay)
2012/07/31 PHP
解析centos中Apache、php、mysql 默认安装路径
2013/06/25 PHP
PHP错误Allowed memory size of 67108864 bytes exhausted的3种解决办法
2014/07/28 PHP
php判断数组中是否存在指定键(key)的方法
2015/03/17 PHP
thinkPHP实现的省市区三级联动功能示例
2017/05/05 PHP
PHP实现求两个字符串最长公共子串的方法示例
2017/11/17 PHP
SlideView 图片滑动(扩展/收缩)展示效果
2010/08/01 Javascript
jquery1.83 之前所有与异步列队相关的模块详细介绍
2012/11/13 Javascript
node.js中的console.trace方法使用说明
2014/12/09 Javascript
使用C++为node.js写扩展模块
2015/04/22 Javascript
JavaScript中判断两个字符串是否相等的方法
2015/07/07 Javascript
js跨浏览器的事件侦听器和事件对象的使用方法
2015/12/17 Javascript
每日十条JavaScript经验技巧(二)
2016/06/23 Javascript
基于jQuery实现Tabs选项卡自定义插件
2016/11/21 Javascript
利用node.js搭建简单web服务器的方法教程
2017/02/20 Javascript
基于Vuejs和Element的注册插件的编写方法
2017/07/03 Javascript
vue.js做一个简单的编辑菜谱功能
2018/05/08 Javascript
JavaScript数组去重的方法总结【12种方法,号称史上最全】
2019/02/28 Javascript
python实现批量下载新浪博客的方法
2015/06/15 Python
windows10系统中安装python3.x+scrapy教程
2016/11/08 Python
python 获取文件下所有文件或目录os.walk()的实例
2018/04/23 Python
Python中求对数方法总结
2020/03/10 Python
CSS3的Border-radius轻松制作圆角
2012/12/24 HTML / CSS
详解CSS3中常用的样式【基本文本和字体样式】
2020/10/20 HTML / CSS
乐高积木玩具美国官网:LEGO Shop US
2016/09/16 全球购物
经典c++面试题六
2012/01/18 面试题
大队委竞选演讲稿
2014/04/28 职场文书
留学经费担保书
2014/05/12 职场文书
给校长的建议书500字
2014/05/15 职场文书
机械设计及其自动化专业求职信
2014/06/09 职场文书
机关单位工作失职检讨书
2014/11/20 职场文书
公司中层管理培训心得体会
2016/01/11 职场文书
pycharm debug 断点调试心得分享
2021/04/16 Python
HTML+css盒子模型案例(圆,半圆等)“border-radius” 简单易上手
2021/05/10 HTML / CSS
python全面解析接口返回数据
2022/02/12 Python
详解OpenCV曝光融合
2022/04/29 Python