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 相关文章推荐
tagName的使用,留一笔
Jun 26 Javascript
javascript 函数使用说明
Apr 07 Javascript
JSON语法五大要素图文介绍
Dec 04 Javascript
js 验证密码强弱的小例子
Mar 21 Javascript
Ajax提交与传统表单提交的区别说明
Feb 07 Javascript
js实现基于正则表达式的轻量提示插件
Aug 29 Javascript
Node.js实现JS文件合并小工具
Feb 02 Javascript
jQuery的内容过滤选择器学习教程
Apr 18 Javascript
微信小程序之页面拦截器的示例代码
Sep 07 Javascript
jQuery实现鼠标移入移出事件切换功能示例
Sep 06 jQuery
JavaScript判断对象和数组的两种方法
May 31 Javascript
微信小程序 wx:for遍历循环使用实例解析
Sep 09 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学习笔记(二) 了解PHP的基本语法以及目录结构
2014/08/04 PHP
PHP动态编译出现Cannot find autoconf的解决方法
2014/11/05 PHP
php curl 模拟登录并获取数据实例详解
2016/12/22 PHP
获取数组中最大最小值方法js代码(自写)
2013/08/12 Javascript
JQuery中使用ajax传输超大数据的解决方法
2014/07/14 Javascript
json实现前后台的相互传值详解
2015/01/05 Javascript
详解JavaScript时间格式化
2015/12/23 Javascript
JavaScript中Object.prototype.toString方法的原理
2016/02/24 Javascript
easyUI实现类似搜索框关键词自动提示功能示例代码
2016/12/27 Javascript
AngularJS学习第二篇 AngularJS依赖注入
2017/02/13 Javascript
JS字符串false转boolean的方法(推荐)
2017/03/08 Javascript
js从输入框读取内容,比较两个数字的大小方法
2017/03/13 Javascript
微信小程序实战之自定义抽屉菜单(7)
2017/04/18 Javascript
JS点击缩略图整屏居中放大图片效果
2017/07/04 Javascript
Vue+ElementUI项目使用webpack输出MPA的方法
2019/08/27 Javascript
js获取 gif 的帧数的代码实例
2019/09/10 Javascript
vue实现移动端项目多行文本溢出省略
2020/07/29 Javascript
微信小程序中data-key属性之数据传输(经验总结)
2020/08/22 Javascript
vue-cli —— 如何局部修改Element样式
2020/10/22 Javascript
Python使用turtule画五角星的方法
2015/07/09 Python
Python实现两款计算器功能示例
2017/12/19 Python
浅谈Tensorflow模型的保存与恢复加载
2018/04/26 Python
对Python 两大环境管理神器 pyenv 和 virtualenv详解
2018/12/31 Python
Python中的相关分析correlation analysis的实现
2019/08/29 Python
python3正则模块re的使用方法详解
2020/02/11 Python
如何基于Python爬虫爬取美团酒店信息
2020/11/03 Python
python 读取yaml文件的两种方法(在unittest中使用)
2020/12/01 Python
python绘制雷达图实例讲解
2021/01/03 Python
英国在线照明超市:Castlegate Lights
2019/10/30 全球购物
幼儿园元旦亲子活动方案
2014/02/17 职场文书
普通党员对照检查材料
2014/08/28 职场文书
工人先进事迹材料
2014/12/26 职场文书
质量负责人岗位职责
2015/02/15 职场文书
幼儿园开学家长寄语(2016春季)
2015/12/03 职场文书
详解MindSpore自定义模型损失函数
2021/06/30 Python
十大最强水系宝可梦,最美宝可梦排第三,榜首大家最熟悉
2022/03/18 日漫