JavaScript判断变量是否为undefined的两种写法区别


Posted in Javascript onDecember 04, 2013

工作中我们经常需要判断某个变量/属性是否为undefined。通常有两种写法

// 方式1 
typeof age === 'undefined'; // 方式2 
age === undefined

这两种写法有什么区别吗? 应该使用哪一种呢?看看下面的例子
typeof age === 'undefined'; // true

标识符 age 没有声明过,输出true。

再看另一个例子

age === undefined; // 报错

Firebug提示age is not defined,JavaScript判断变量是否为undefined的两种写法区别

这就是两者的区别, 即不确定age是否声明或定义时用方式1,确定的则可以用方式2。使用方式1如果变量没有声明,代码也不会报错,但方式2会报错。看似方式1容错性更好,实际会是潜伏了的Bug。变量先声明再使用永远是个好习惯。

此外,方式1是两次运算,方式2是一次。

Javascript 相关文章推荐
js实现ASP分页函数 HTML分页函数
Sep 22 Javascript
js小技巧--自动隐藏红叉叉
Aug 13 Javascript
javascript 对表格的行和列都能加亮显示
Dec 26 Javascript
JS request函数 用来获取url参数
May 17 Javascript
理解Javascript_10_对象模型
Oct 16 Javascript
javascript生成json数据简单示例分享
Feb 14 Javascript
jquery插件uploadify实现带进度条的文件批量上传
Dec 13 Javascript
JavaScript引用类型和基本类型详解
Jan 06 Javascript
Angular.js实现获取验证码倒计时60秒按钮的简单方法
Oct 18 Javascript
JS动态插入脚本和插入引用外部链接脚本的方法
May 21 Javascript
详解如何解决vue开发请求数据跨域的问题(基于浏览器的配置解决)
Nov 12 Javascript
vue从零实现一个消息通知组件的方法详解
Mar 16 Javascript
ExtJS4中使用mixins实现多继承示例
Dec 03 #Javascript
ExtJS4中的requires使用方法示例介绍
Dec 03 #Javascript
利用JS进行图片的切换即特效展示图片
Dec 03 #Javascript
JavaScript伸缩的菜单简单示例
Dec 03 #Javascript
JS window对象的top、parent、opener含义介绍
Dec 03 #Javascript
javascript实现信息的显示和隐藏如注册页面
Dec 03 #Javascript
一个js控制的导航菜单实例代码
Dec 03 #Javascript
You might like
用php实现批量查询清除一句话后门的代码
2008/01/20 PHP
thinkPHP和onethink微信支付插件分享
2019/08/11 PHP
DEFER怎么用?
2006/07/01 Javascript
javascript之解决IE下不渲染的bug
2007/06/29 Javascript
编写跨浏览器的javascript代码必备[js多浏览器兼容写法]
2008/10/29 Javascript
JS图片无缝、平滑滚动代码
2014/03/11 Javascript
jquery uploadify 在FF下无效的解决办法
2014/09/26 Javascript
node.js中的buffer.toJSON方法使用说明
2014/12/14 Javascript
jquery动感漂浮导航菜单代码分享
2020/04/15 Javascript
JS原型链 详解及示例代码
2016/09/06 Javascript
JQuery.validationEngine表单验证插件(推荐)
2016/12/10 Javascript
js实现定时进度条完成后切换图片
2017/01/04 Javascript
js仿QQ邮箱收件人选择与搜索功能
2017/02/10 Javascript
JavaScript实现跟随滚动缓冲运动广告框
2017/07/15 Javascript
iscroll.js滚动加载实例详解
2017/07/18 Javascript
vue获取元素宽、高、距离左边距离,右,上距离等还有XY坐标轴的方法
2018/09/05 Javascript
重置Redux的状态数据的方法实现
2019/11/18 Javascript
vue实现移动端返回顶部
2020/10/12 Javascript
Python模块搜索概念介绍及模块安装方法介绍
2015/06/03 Python
python处理按钮消息的实例详解
2017/07/11 Python
python使用openpyxl库修改excel表格数据方法
2018/05/03 Python
Python http接口自动化测试框架实现方法示例
2018/12/06 Python
对python dataframe逻辑取值的方法详解
2019/01/30 Python
Python实现FTP弱口令扫描器的方法示例
2019/01/31 Python
Python中sys模块功能与用法实例详解
2020/02/26 Python
使用matplotlib的pyplot模块绘图的实现示例
2020/07/12 Python
印尼穆斯林时尚购物网站:Hijabenka
2016/12/10 全球购物
美国在线印刷公司:PsPrint
2017/10/12 全球购物
临床医学专业个人的自我评价
2013/09/27 职场文书
村级换届选举方案
2014/05/10 职场文书
中学教师师德师风演讲稿
2014/08/22 职场文书
财务人员个人工作总结
2015/02/27 职场文书
CocosCreator入门教程之网络通信
2021/04/16 Javascript
《异世界四重奏》剧场版6月10日上映 PV视觉图原创角色发表
2022/03/20 日漫
Python学习之时间包使用教程详解
2022/03/21 Python
MySQL 表锁定 LOCK和UNLOCK TABLES的 SQL语法
2022/04/18 MySQL