js中undefined该怎么判断浅析

 更新时间:2023年04月26日 08:39:16   作者:历史老师-  
可能很多朋友认为undefined是在js中未定义变量时才会提示的错误,其实不然undefined 是js中的一特殊的变量,我们也可以提前定义哦,下面这篇文章主要给大家介绍了关于js中undefined该怎么判断的相关资料,需要的朋友可以参考下

一、js中导致undefined的几种情况:

1、变量声明过但没有赋值;

2、获取对象中不存在的属性时;

3、函数需要实参,但是调用时没有传参,形参是undefined;

4、函数调用没有返回值或者return后没有数据,接受函数返回的变量是undefined

二、判断undefined的时候,我会直接这样使用

let nothing;
if (typeof nothing === 'undefined') {
 }

三、如何避免错误

1、使用let、const,弃用var

2、访问不存在的属性时不会出错,而从不存在的属性值获取数据时才出现真正的问题。所以取用时要先判断是否存在。

如何检查属性是否存在

(1) obj.prop !== undefined :直接与undefined进行比较

(2) typeof obj.prop !== ’undefined':验证属性值类型

(3) obj.hasOwnproperty('prop'): 验证对象是否具有自己的属性

(4) ‘prop' in obj:验证对象是否具有自己的属性或继承属性

补充:判断undefined需要用到typeof()方法

typeof的返回值
    typeof运算符的返回类型为字符串,值包括如下几种:

        1. 'undefined'              --未定义的变量或值

        2. 'boolean'                 --布尔类型的变量或值

        3. 'string'                     --字符串类型的变量或值

        4. 'number'                  --数字类型的变量或值

        5. 'object'                    --对象类型的变量或值,或者null(这个是js历史遗留问题,将null作为object类型处理)

        6. 'function'                 --函数类型的变量或值

总结

到此这篇关于js中undefined该怎么判断的文章就介绍到这了,更多相关js中undefined判断内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Swiper实现轮播图效果

    Swiper实现轮播图效果

    这篇文章主要为大家详细介绍了Swiper实现轮播图效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • JS实现的一个简单的Autocomplete自动完成例子

    JS实现的一个简单的Autocomplete自动完成例子

    这篇文章主要介绍了JS实现的一个简单的Autocomplete自动完成例子,需要的朋友可以参考下
    2014-04-04
  • JavaScript函数增强以及额外知识

    JavaScript函数增强以及额外知识

    函数就是封装了一段可以被重复执行调用的代码块,下面这篇文章主要给大家介绍了关于JavaScript函数增强以及额外知识的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-06-06
  • webpack4 SCSS提取和懒加载的示例

    webpack4 SCSS提取和懒加载的示例

    这篇文章主要介绍了webpack4 SCSS提取和懒加载的示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-09-09
  • Javascript之JSBridge初探

    Javascript之JSBridge初探

    这篇文章主要介绍了Javascript的JSBridge,对JSBridge感兴趣的同学,可以参考下
    2021-04-04
  • JS写滑稽笑脸运动效果

    JS写滑稽笑脸运动效果

    这篇文章主要介绍了JS写滑稽笑脸运动效果,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-05-05
  • 原生JS实现N级菜单的代码

    原生JS实现N级菜单的代码

    最近有项目要实现N级菜单,首先从布局入手,即判断是否有下级菜单,具体实现代码,大家可以参考下本文
    2017-05-05
  • JS原生2048小游戏源码分享(全网最新)

    JS原生2048小游戏源码分享(全网最新)

    这篇文章主要介绍了JS原生2048小游戏源码分享,实现代码全部是给予js实现的,代码简单易懂对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-05-05
  • JS格式化数字金额用逗号隔开保留两位小数

    JS格式化数字金额用逗号隔开保留两位小数

    JS格式化数字金额只留两位小数。写了个格式化函数。可以控制小数位数,自动四舍五入,感兴趣的朋友可以了解下
    2013-10-10
  • 给页面渲染时间加速 干掉Dom Level 0 Event

    给页面渲染时间加速 干掉Dom Level 0 Event

    我们去掉事件绑定的逻辑,发现只渲染dom元素,不绑定事件的时间,仅仅125ms,可见事件绑定的时间消耗还是很大的 ,尤其是第一种方式,也就是Dom Level 0 Event,最为耗时
    2012-12-12

最新评论