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是一次。 

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 免费QQ空间皮肤代码及使用方法[通俗易懂]

    免费QQ空间皮肤代码及使用方法[通俗易懂]免费QQ空间皮肤代码:免费QQ空间蓝色520代码javascript:window.top.space_addItem(1,7976,0,80,0,0,90);空间免费皮肤代码:黑色FLASH相

  • 使用MATLAB绘制分段函数实现[通俗易懂]

    使用MATLAB绘制分段函数实现[通俗易懂]绘制分段函数也是很常见的需求,实现分段函数的绘制也有多种方式。以下面分段函数为例,进行说明。方法一:直接根据分段函数的含义,根据x值的不同,相对应的函数值也不同,进行描点连线。x=0:0.1:5y=[]forxx=xif(xx<1.5)y=[y,0];elseif(xx>=1.5&&xx<2)y=[y,(xx-1.5)*2];elsey=[y,1];endendplot(x,y)%函数图像上加一

  • xtrabackup部署以及使用

    xtrabackup部署以及使用

    2021年11月27日
  • ora 01017问题解决办法

    ora 01017问题解决办法SQL&gt;startup ORACLEinstancestarted. TotalSystemGlobalArea 914358272bytes FixedSize                 2088184bytes VariableSize            528483080bytes DatabaseBuffers         3774873…

  • 博弈论作者翟文明_伟大的博弈读书心得

    博弈论作者翟文明_伟大的博弈读书心得建议复制后观看古语有云:“世事如棋。”生活中的每个人如同棋手,其每一个行为如同在一张看不见的棋盘上布一个子,精明慎重的棋手们相互揣摩、相互牵制,人人争赢,下出诸多精彩纷呈现出来。博弈论的伟大之处正在于其通过规则、身份、信息、行动、效用、平衡等各种量化概念对人情世事进行了精妙的分析,清晰地揭示了当下社会中们的各种互动行为、互动关系,为人们正确决策提供了指导。第一章博弈论入门1.囚徒困境。缺乏信息交流,都是选对己优势策略,结果并不是系统最优。2.博弈四要素: 1)至少两个参与者。制定决策与对

    2022年10月10日
  • Activity 跳转详解

    Activity 跳转详解Activity跳转详解你好!我是Graydalf,有可能也叫Gdalf~今天被朋友问到如何设置一个广播来启动一个应用并显示数据,于是将自己了解到的记录下来,有什么较为DEMO的地方希望你能留言告诉我,因为我们都是GitHub嘛~~本节说明:Activity跳转的方式;跳转传值问题(包括非Activity的跳转到Activity);跳转传递值时生命周期回调函数调用情况

发表回复

您的电子邮箱地址不会被公开。

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