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 相关文章推荐
javascript对select标签的控制(option选项/select)
Jan 31 Javascript
jQuery中ajax的使用与缓存问题的解决方法
Dec 19 Javascript
jquery判断浏览器后退时候弹出消息的方法
Aug 11 Javascript
浅谈JavaScript的事件
Feb 27 Javascript
学习Bootstrap组件之下拉菜单
Jul 28 Javascript
JS实现表单中checkbox对勾选中增加边框显示效果
Aug 21 Javascript
AngularJS基础 ng-include 指令示例讲解
Aug 01 Javascript
Javascript继承机制详解
May 30 Javascript
详解vue项目打包后通过百度的BAE发布到网上的流程
Mar 05 Javascript
layui select获取自定义属性方法
Aug 15 Javascript
element的el-table中记录滚动条位置的示例代码
Nov 06 Javascript
Vue清除定时器setInterval优化方案分享
Jul 21 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 读取文件内容代码(txt,js等)
2009/12/06 PHP
laravel安装zend opcache加速器教程
2015/03/02 PHP
PHP将Excel导入数据库及数据库数据导出至Excel的方法
2015/06/24 PHP
PHP 极验验证码实例讲解
2016/09/29 PHP
详解PHP5.6.30与Apache2.4.x配置
2017/06/02 PHP
PHP错误提示It is not safe to rely on the system……的解决方法
2019/03/25 PHP
Prototype使用指南之form.js
2007/01/10 Javascript
JQuery中根据属性或属性值获得元素(6种情况获取方法)
2013/01/17 Javascript
IE8对JS通过属性和数组遍历解析不一样的地方探讨
2013/05/06 Javascript
jQuery中has()方法用法实例
2015/01/06 Javascript
Javascript农历与公历相互转换的简单实例
2016/10/09 Javascript
angular过滤器实现排序功能
2017/06/27 Javascript
vue 开发一个按钮组件的示例代码
2018/03/27 Javascript
解决vue axios的封装 请求状态的错误提示问题
2018/09/25 Javascript
详解auto-vue-file:一个自动创建vue组件的包
2019/04/26 Javascript
JavaScript canvas仿代码流瀑布
2020/02/10 Javascript
Node.js中出现未捕获异常的处理方法
2020/06/29 Javascript
微信小程序整个页面的自动适应布局的实现
2020/07/12 Javascript
浅谈鸿蒙 JavaScript GUI 技术栈
2020/09/17 Javascript
python各种语言间时间的转化实现代码
2016/03/23 Python
详解Python函数可变参数定义及其参数传递方式
2017/08/02 Python
pycharm 将django中多个app放到同个文件夹apps的处理方法
2018/05/30 Python
python3.4控制用户输入与输出的方法
2018/10/17 Python
Python实现根据日期获取当天凌晨时间戳的方法示例
2019/04/09 Python
Python 给屏幕打印信息加上颜色的实现方法
2019/04/24 Python
Django ImageFiled上传照片并显示的方法
2019/07/28 Python
python匿名函数用法实例分析
2019/08/03 Python
Kears+Opencv实现简单人脸识别
2019/08/28 Python
Python flask路由间传递变量实例详解
2020/06/03 Python
解决Keras使用GPU资源耗尽的问题
2020/06/22 Python
俄罗斯旅游网站:Tripadvisor俄罗斯
2017/03/21 全球购物
选秀节目策划方案
2014/06/06 职场文书
家长学校培训材料
2014/08/20 职场文书
关于教师节的广播稿
2014/09/10 职场文书
小学生作文之《压岁钱的烦恼》
2019/09/27 职场文书
Python使用Beautiful Soup(BS4)库解析HTML和XML
2022/06/05 Python