是否有一个通用JavaScript函数来判断变量是否有值,并确保它不是undefinednull?我有这个代码,但我不确定它是否涵盖所有情况:

function isEmpty(val){
    return (val === undefined || val == null || val.length <= 0) ? true : false;
}

推荐答案

你只需判断variable的值是否为truthy即可.这意味着

if( value ) {
}

如果valuenot,则将判断为true:

  • 无效的
  • 未定义
  • 非数
  • 空字符串("")
  • 0
  • 错误的

上面的列表表示ECMA-/Javascript中所有可能的falsy个值.在ToBoolean区的specification中找到它.

此外,如果您不知道know是否存在变量(也就是说,如果它是declared),您应该向typeof操作员进行判断.例如

if( typeof foo !== '未定义' ) {
    // foo could get resolved and it's defined
}

如果您可以确定至少声明了variable,则应该直接判断它是否具有如上所示的truthy值.

Javascript相关问答推荐

添加/删除时React图像上传重新渲染上传的图像

React存档iframe点击行为

如何为GrapesJS模板编辑器创建自定义撤销/重复按钮?

我可以使用CSS有效地实现最大宽度=100%和最大高度=100%,而无需父母有明确的/固定的宽度和高度,替代方法吗?

Chart.js V4切换图表中的每个条,同时每个条下有不同的标签.怎么做?

如何在angular中从JSON值添加动态路由保护?

分层树视图

我创建了一个创建对象的函数,我希望从该函数创建的对象具有唯一的键.我怎么能做到这一点?

我可以使用使用node.js创建的本地主机来存储我网站上提交的所有数据吗?没有SQL或任何数据库.只有HTML语言

用于在路径之间移动图像的查询

如何创建返回不带`new`关键字的实例的类

如何在不影响隐式类型的情况下将类型分配给对象?

400 bad request error posting through node-fetch

为什么我的按钮没有从&q;1更改为&q;X&q;?

在不扭曲纹理的情况下在顶点着色器中旋转UV

用于部分字符串的JavaScript数组搜索

如何阻止外部脚本进入顶层导航

使用Java脚本替换字符串中的小文本格式hashtag

如何使用useparams从react路由中提取id

我想为我的Reaction项目在画布上加载图像/视频,图像正在工作,但视频没有