js中undefined该如何判断
今天小编给大家分享一下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' --函数类型的变量或值
相关内容
这些是最新的
热门排行
- THINKPHP5+GatewayWorker+Workerman 开发在线客服系统
- 在手机浏览器网页中点击链接跳转到微信界面的方法
- 尊云网站目录系统 ThinkPHP5网站分类目录程序 v2.2.221011
- CentOS 7安装shadowsock(一键安装脚本)
- AdminTemplate 基于LayUI 2.4.5实现的网站后台管理模板
- 用NW.js(node-webkit)开发多平台的桌面客户端
- PHP生成随机昵称/用户名
- THINKPHP5网站分类目录程序 尊云网站目录系统
- 织梦(DEDECMS)微信支付接口 微信插件
- 基于LayUI开发的 网站后台管理模板 BeginnerAdmin
- 响应式后台网站模板 - AMA.ADMIN
- layuiAdmin后台管理模板 Iframe版
- LayUI 1.0.9 升级 至 LayUI 2.1.4 方法
- 简洁清爽的会员中心模板
- jQuery幸运大转盘抽奖活动代码