JavaScript判断变量是否为undefined的两种写法区别
发布时间:2024-04-19 09:53:50
标签:JavaScript,undefined
工作中我们经常需要判断某个变量/属性是否为undefined。通常有两种写法
// 方式1
typeof age === 'undefined';
// 方式2
age === undefined
这两种写法有什么区别吗? 应该使用哪一种呢?看看下面的例子
typeof age === 'undefined'; // true
标识符 age 没有声明过,输出true。
再看另一个例子
age === undefined; // 报错
Firebug提示age is not defined,
这就是两者的区别, 即不确定age是否声明或定义时用方式1,确定的则可以用方式2。使用方式1如果变量没有声明,代码也不会报错,但方式2会报错。看似方式1容错性更好,实际会是潜伏了的Bug。变量先声明再使用永远是个好习惯。
此外,方式1是两次运算,方式2是一次。


猜你喜欢
- 演示源码展示创建画布<canvas width="300" height="300" styl
- 在pandas中怎么样实现类似mysql查找语句的功能:select * from table where column_name = so
- 一、回顾一下前面《Oracle开发之窗口函数》中关于全统计一节,我们使用了Oracle提供的:sum(sum(tot_sales)) ove
- 本文实例为大家分享了opencv实现图像缩放效果的具体代码,供大家参考,具体内容如下图像缩放:图像缩放即对图像的大小进行调整,即放大或者缩小
- 前言:把一个功能模块使用组件化的思想充分封装,如导航栏,这无论对我们的开发思想还是效率都有许多好处,在开发中,我们要尽量多得运用组件化的开发
- 上传组件封装需求分析在基于elementUI库做的商城后台管理中,需求最大的是商品管理表单这块,因为需要录入各种各样的商品图片信息。加上后台
- 目录前言一、首先二、接下来1.对照人脸获取2. 通过算法建立对照模型3.识别前言今天,我们用Python实现简单的人脸识别技术!Python
- #/usr/bin/env/python#coding=utf-8import sys,re,time,osmaxdata = 50000
- opencv图像处理(深度学习中常用的)改变色彩空间: cv.cvtColor()cv.cvtColor(img, flag)img:原图像
- go install编译并安装代码包,对于库,会生成目标库文件,并且放置到GOPATH/pgk目录下。对于可执文件,会生成目标可执行文件,并
- Go init函数详解init()函数会在每个包完成初始化后自动执行,并且执行优先级比main函数高。init 函数通常被用来:对变量进行初
- 本文实例讲述了Python常用模块之requests模块用法。分享给大家供大家参考,具体如下:一. GET请求1.访问一个页面import
- 昨天我问过这个问题怎么用ADODB.Stream来读取或写入文件,而不是用fso,不过没人回答到点上,今天搞定了.贴出来给觉得有用的朋友,希
- PromisePromise能够处理异步程序。回调地狱JS中或node中,都大量的使用了回调函数进行异步操作,而异步操作什么时候返回结果是不
- 看代码吧~import torchprint(torch.__version__)补充:pytorch不同版本安装以及版本查看一:基于con
- 如何在php中判断一个网页请求是ajax请求还是普通请求?你可以通过传递参数的方法来实现,例如使用如下网址请求:/path/to/pkphp
- 前言第一次看go基础语法的时候,用使用到了defer。但是一直不知道它到底是什么,有什么用途。这几天通过查询、学习。算是对defer有了一点
- 本文实例讲述了Python使用turtule画五角星的方法。分享给大家供大家参考。具体实现方法如下:#!/usr/bin/env pytho
- 应用场景:状态不是200的URL重试多次代码比较简单还有部分注释python2.7实现:# -*-coding:utf-8-*-"
- 摘要:随着应用领域的不断拓展和多媒体技术, 人们发现关系数据库的许多限制和不足,因而数据库技术进入了“后关系数据库时代”。文件数据库由此应运