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判断内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • javascript删除一个html元素节点的方法

    javascript删除一个html元素节点的方法

    这篇文章主要介绍了javascript删除一个html元素节点的方法,可通过获取父节点再查找并删除子节点来实现该功能,具有一定的参考借鉴价值,需要的朋友可以参考下
    2014-12-12
  • javascript轻松实现当鼠标移开时已弹出子菜单自动消失

    javascript轻松实现当鼠标移开时已弹出子菜单自动消失

    本文为大家详细介绍下使用javascript实现当鼠标移开时已弹出子菜单自动消失,具体如下,感兴趣的朋友不要错过
    2013-12-12
  • 微信小程序实现拍照和相册选取图片

    微信小程序实现拍照和相册选取图片

    这篇文章主要为大家详细介绍了微信小程序实现拍照和相册选取图片,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-05-05
  • 通过扫小程序码实现网站登陆功能

    通过扫小程序码实现网站登陆功能

    这篇文章主要介绍了通过扫小程序码实现网站登陆功能,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-08-08
  • 基于cornerstone.js的dicom医学影像查看浏览功能

    基于cornerstone.js的dicom医学影像查看浏览功能

    这篇文章主要介绍了基于cornerstone.js的dicom医学影像查看浏览功能,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-07-07
  • 提高JavaScript执行效率的23个实用技巧

    提高JavaScript执行效率的23个实用技巧

    JavaScript是一门非常流行的编程语言,许多开发者都会把JavaScript选为入门语言,本文向大家分享JavaScript提高执行效率的小技巧、最佳实践等非常实用的内容
    2017-03-03
  • 理解Javascript闭包

    理解Javascript闭包

    闭包是ECMAScript一个很重要的特征,但是却很难用合适的定义来描述它。虽然闭包很难清晰地描述,但是,却很容易创建,或者说,不小心创建。然而,闭包的存在其实是有一定的潜在问题的。为了避免“不小心”地创建闭包,以及更好地利用闭包的优点,有必要理解闭包的机制
    2013-11-11
  • javascript的currying函数介绍

    javascript的currying函数介绍

    curring的概念将函数式编程的概念和默认参数以及可变参数结合在一起.一个带n个参数,curried的函数固化第一个参数为固定参数,并返回另一个带n-1个参数的函数对象,分别类似于LISP的原始函数car和cdr的行为。currying能泛化为偏函数应用(partial function application, PFA),p 这种函数将任意数量(顺序)的参数的函数转化为另一个带剩余参数的函数对象
    2012-02-02
  • JavaScript中的对象的extensible属性介绍

    JavaScript中的对象的extensible属性介绍

    这篇文章主要介绍了JavaScript中的对象的extensible属性介绍,JavaScript中,对象的extensible属性用于表示是否允许在对象中动态添加新的property,需要的朋友可以参考下
    2014-12-12
  • JavaScript中实现数组分组功能的方法详解

    JavaScript中实现数组分组功能的方法详解

    最近,JavaScript引入了一个备受期待的功能:原生支持数组分组,这一特性使得在处理复杂的数据集时变得更加简单和高效,本文将深入探讨这一全新的JavaScript特性,希望对大家有所帮助
    2023-12-12

最新评论