JavaScript判断变量是否为undefined两种方式差异[通俗易懂]

JavaScript判断变量是否为undefined两种方式差异

大家好,又见面了,我是全栈君。

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

1

2

3

4

5

// 方式1

typeof age === 'undefined';

 

// 方式2

age === undefined

 

这两种写法有什么区别吗? 应该使用哪一种呢?看看下面的例子

1

typeof age === 'undefined'// true

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

 

再看另一个例子

1

age === undefined; // 报错

 

Firebug提示age is not defined,

JavaScript判断变量是否为undefined两种方式差异[通俗易懂]

这就是两者的区别, 即不确定age是否声明或定义时用方式1,确定的则可以用方式2。使用方式1如果变量没有声明,代码也不会报错,但方式2会报错。

看似方式1容错性更好,实际会是潜伏了的Bug。变量先声明再使用永远是个好习惯。

 

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/112005.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 拓展人际关系

    拓展人际关系br nbsp nbsp 处朋友 在讲求效率和效益的商人口中 就成了 人脉 也许很多人都不太喜欢这个有些势利的词 但我觉得不管名称怎么换 能够做到以诚待人 与人为善就是好的 下文所说的几种方法 算是给大家指明了与人相处的几个方向 特别适合人很好但是 EQ 很低的人学习 br br nbsp nbsp nbsp nbsp 1 慷慨大气结交朋友 br br nbsp nbsp nbsp nbsp 与人相处的能力 如果能像糖和咖啡一样可以买得到的话 我会为这种能力多付一些钱 而美国人更有名言说 二十岁靠体力赚钱 那三十岁靠脑力赚钱 四十岁以后则靠交情赚钱

    2025年8月4日
    4
  • c++反编译工具_pc下载软件

    c++反编译工具_pc下载软件  昨天在逆向某App的时候,发现有个加密工具类中的native方法是用C语言编写的,隐藏在so文件中。某大佬推荐逆向工具unidbg,能在pc端直接调用so文件中的函数,最终成功解决了问题。逆向工具之unidbg目录一、`unidbg`引入二、`unidbg`概述三、`unidbg`使用姿势1、下载`unidbg`项目2、导入到IDEA中①、解压压缩包②、打开`IDEA`,导入解压的项目3、测试`unidbg`4、运行自己的`so`文件①、编写`EncryptUtilsJni`类②、参数说明③、执行结果

    2026年1月21日
    5
  • freemark换行输出[通俗易懂]

    freemark换行输出

    2022年1月21日
    51
  • mysql自定义异常_mysql自定义函数详解

    mysql自定义异常_mysql自定义函数详解[最近研究mysql数据库性能的相关问题,为了对比不同版本之间的差别。笔者找了一台测试服务器升级了该服务器的mysql数据库进行测试,在升级mysql过程中遇到了一些问题并将其1、在MySql中创建自定义函数报错信息如下:ERROR1418(HY000):ThisfunctionhasnoneofDETERMINISTIC,NOSQL,orREADSSQLDATAin…

    2025年10月4日
    5
  • java 反射getmethod_Java 反射机制中 getMethod()和getDeclaredField()区别

    java 反射getmethod_Java 反射机制中 getMethod()和getDeclaredField()区别今天在程序中用到java反射机制时,遇到的问题记录一下:我当时遇到的问题是,我用反射getMethod()调用类方法时,发生NoSuchMethodException异常,后来上网发现getMethod()调用公共方法,不能反射调用私有方法,后来找到getDeclaredField()能够访问本类中定义的所有方法。后来用这个方法解决了我遇到的问题。我查了javaapi文档,其中详细说明如下:…

    2025年12月6日
    4
  • linux的ftp命令大全_linux tar命令详解

    linux的ftp命令大全_linux tar命令详解ftp主机名/IP会提示输入用户名和密码匿名登录:用户名输入:anonymous密码输入:一个邮箱格式的任意字符串ascii#设定以ASCII方式传送文件(缺省值)bell#每完成一次文件传送,报警提示.binary#设定以二进制方式传送文件.bye#终止主机FTP进程,并退出FTP管理方式.case#当为ON时,用MGET命令拷贝的文件名到本地…

    2022年9月21日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号