当前位置:首页 > JavaScript

js实现empty

2026-03-15 07:13:05JavaScript

实现 empty 功能

在 JavaScript 中实现类似 PHP 的 empty() 功能,需要检查变量是否为 nullundefined、空字符串、0false 或空数组/对象。

function empty(value) {
  if (value === null || value === undefined) {
    return true;
  }

  if (typeof value === 'string' && value.trim() === '') {
    return true;
  }

  if (typeof value === 'number' && value === 0) {
    return true;
  }

  if (typeof value === 'boolean' && value === false) {
    return true;
  }

  if (Array.isArray(value) && value.length === 0) {
    return true;
  }

  if (typeof value === 'object' && Object.keys(value).length === 0) {
    return true;
  }

  return false;
}

使用示例

console.log(empty(null));         // true
console.log(empty(undefined));    // true
console.log(empty(''));           // true
console.log(empty(0));            // true
console.log(empty(false));        // true
console.log(empty([]));           // true
console.log(empty({}));           // true
console.log(empty('Hello'));      // false
console.log(empty(42));           // false
console.log(empty(true));         // false
console.log(empty([1, 2, 3]));    // false
console.log(empty({a: 1}));       // false

注意事项

对于对象类型的检查,需要注意原型链上的属性不会被 Object.keys() 包含。如果需要更严格的对象空检查,可能需要额外处理。

对于 NaN 的特殊情况,可以根据需求决定是否将其视为空值。如果需要包含,可以添加以下条件:

js实现empty

if (typeof value === 'number' && isNaN(value)) {
  return true;
}

标签: jsempty
分享给朋友:

相关文章

js实现倒计时

js实现倒计时

使用 setInterval 实现倒计时 通过 setInterval 定时器每秒更新剩余时间,适用于简单倒计时场景。 function countdown(seconds, callback) {…

js实现计算器

js实现计算器

实现基础计算器功能 使用JavaScript创建一个基础计算器需要处理数字输入、运算符逻辑和结果显示。以下是一个简单的实现示例: let currentInput = '0'; let previo…

js实现图片上传

js实现图片上传

图片上传的基本实现 使用HTML的<input type="file">元素配合JavaScript的File API可以实现图片上传功能。HTML部分需要创建一个文件选择输入框和一个用于…

js实现延迟

js实现延迟

实现延迟的方法 在JavaScript中,实现延迟操作有多种方式,以下是几种常见的方法: 使用setTimeout函数 setTimeout是JavaScript中最常用的延迟执行方法。它接受一个回…

js实现抽奖

js实现抽奖

实现抽奖功能的基本思路 抽奖功能的核心是随机选择奖项并展示结果。可以通过数组存储奖项,利用随机数生成索引,最后通过动画增强用户体验。 准备奖项数据 定义一个数组存储奖项信息,每个奖项可以包含名称、图…

js实现dh

js实现dh

JavaScript 实现 DH(Diffie-Hellman)密钥交换 Diffie-Hellman(DH)密钥交换是一种安全协议,允许双方在不安全的通信信道上建立一个共享密钥。以下是如何在 Jav…