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 相关文章推荐
Prototype中dom对象方法汇总
Sep 17 Javascript
jQuery中$.fn的用法示例介绍
Nov 05 Javascript
JS获取URL中的参数数据
Dec 05 Javascript
javascript实现的一个随机点名功能
Aug 26 Javascript
基于jQuery的网页影音播放器jPlayer的基本使用教程
Mar 08 Javascript
jQuery过滤特殊字符及JS字符串转为数字
May 26 Javascript
jQuery实现图像旋转动画效果
May 29 Javascript
详解Javascript ES6中的箭头函数(Arrow Functions)
Aug 24 Javascript
微信、QQ、微博、Safari中使用js唤起App
Jan 24 Javascript
vue自定义移动端touch事件之点击、滑动、长按事件
Jul 10 Javascript
vue指令v-html使用过滤器filters功能实例
Oct 25 Javascript
weui中的picker使用js进行动态绑定数据问题
Nov 06 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
function.inc.php超越php
2006/12/09 PHP
PHP 用session与gd库实现简单验证码生成与验证的类方法
2016/11/15 PHP
PHP实现的无限分类类库定义与用法示例【基于thinkPHP】
2018/08/06 PHP
常用参考资料(手册)下载或者链接
2006/07/22 Javascript
jquery实现商品拖动选择效果代码(自写)
2013/05/28 Javascript
使用JavaScript获取电池状态的方法
2014/05/03 Javascript
js简单的点击返回顶部效果实现方法
2015/04/10 Javascript
jquery实现加载进度条提示效果
2015/11/23 Javascript
纯JavaScript代码实现文本比较工具
2016/02/17 Javascript
Bootstrap3 多选和单选框(checkbox)
2016/12/29 Javascript
js实现横向拖拽导航条功能
2017/02/17 Javascript
jQuery制作input提示内容(兼容IE8以上)
2017/07/05 jQuery
js实现会跳动的日历效果(完整实例)
2017/10/18 Javascript
JavaScript修改注册表实例代码
2020/01/05 Javascript
echarts浮动显示单位的实现方法示例
2020/12/04 Javascript
Python导入txt数据到mysql的方法
2015/04/08 Python
基于Django的ModelForm组件(详解)
2017/12/07 Python
Python使用folium excel绘制point
2019/01/03 Python
利用Python半自动化生成Nessus报告的方法
2019/03/19 Python
Python类中的魔法方法之 __slots__原理解析
2019/08/26 Python
Python中如何将一个类方法变为多个方法
2019/12/30 Python
python GUI库图形界面开发之PyQt5输入对话框QInputDialog详细使用方法与实例
2020/02/27 Python
python3实现飞机大战
2020/11/29 Python
浅谈CSS3特性查询(Feature Query: @supports)功能简介
2017/07/31 HTML / CSS
html5 Canvas画图教程(4)—未闭合的路径及渐变色的填充方法
2013/01/09 HTML / CSS
Ref与out有什么不同
2012/11/24 面试题
Java语言程序设计测试题选择题部分
2014/04/03 面试题
校园报刊亭的创业计划书
2014/01/02 职场文书
支行行长竞聘演讲稿
2014/05/15 职场文书
机关党员三严三实心得体会
2014/10/13 职场文书
2014年财务个人工作总结
2014/12/08 职场文书
2015年社区创卫工作总结
2015/04/21 职场文书
公司借款担保书
2015/09/22 职场文书
严以律己学习心得体会
2016/01/13 职场文书
python实现自动化群控的步骤
2021/04/11 Python
Nginx 反向代理解决跨域问题多种情况分析
2022/01/18 Servers