当前位置:首页 > JavaScript

js实现判断

2026-04-06 03:13:42JavaScript

判断数据类型

使用typeof操作符可以判断基本数据类型,但对于对象和数组需要更精确的方法。

const num = 42;
const str = "hello";
const bool = true;
const arr = [1, 2, 3];
const obj = { key: "value" };

console.log(typeof num); // "number"
console.log(typeof str); // "string"
console.log(typeof bool); // "boolean"
console.log(typeof arr); // "object"
console.log(typeof obj); // "object"

精确类型判断

使用Object.prototype.toString.call()方法可以获取更精确的类型信息。

console.log(Object.prototype.toString.call(num)); // "[object Number]"
console.log(Object.prototype.toString.call(str)); // "[object String]"
console.log(Object.prototype.toString.call(bool)); // "[object Boolean]"
console.log(Object.prototype.toString.call(arr)); // "[object Array]"
console.log(Object.prototype.toString.call(obj)); // "[object Object]"

数组判断

专门判断数组可以使用Array.isArray()方法。

console.log(Array.isArray(arr)); // true
console.log(Array.isArray(obj)); // false

空值判断

检查变量是否为nullundefined

const emptyVar = null;
const undefVar = undefined;

console.log(emptyVar === null); // true
console.log(undefVar === undefined); // true

对象属性判断

使用in操作符或hasOwnProperty方法检查对象是否包含某个属性。

const person = { name: "Alice", age: 25 };

console.log("name" in person); // true
console.log(person.hasOwnProperty("age")); // true
console.log("toString" in person); // true (继承属性)
console.log(person.hasOwnProperty("toString")); // false

相等性判断

使用===严格相等和==宽松相等进行比较。

console.log(5 == "5"); // true
console.log(5 === "5"); // false

自定义类型判断

通过构造函数或instanceof判断自定义类型。

function Person(name) {
  this.name = name;
}
const alice = new Person("Alice");

console.log(alice instanceof Person); // true
console.log(alice.constructor === Person); // true

函数判断

检查变量是否为函数类型。

function greet() {
  console.log("Hello");
}

console.log(typeof greet === "function"); // true

NaN判断

使用isNaN()Number.isNaN()判断NaN值。

console.log(isNaN("text")); // true (会先尝试转换为数字)
console.log(Number.isNaN("text")); // false (不会进行类型转换)
console.log(Number.isNaN(NaN)); // true

真值判断

在条件语句中自动转换为布尔值。

js实现判断

const truthy = "hello";
const falsy = "";

if (truthy) {
  console.log("truthy"); // 会执行
}
if (falsy) {
  console.log("falsy"); // 不会执行
}

标签: js
分享给朋友:

相关文章

js实现拖拽

js实现拖拽

实现拖拽的基本步骤 使用JavaScript实现拖拽功能需要监听鼠标事件,包括mousedown、mousemove和mouseup。以下是实现的基本逻辑: const draggableEleme…

js实现轮播

js实现轮播

实现轮播图的基本思路 轮播图的核心逻辑是通过定时切换展示的图片或内容,通常结合左右滑动按钮和指示器(小圆点)增强交互性。以下是基于原生JavaScript的实现方法。 HTML结构 构建轮播图的HT…

js实现列表

js实现列表

使用 JavaScript 实现列表 JavaScript 提供了多种方式来实现列表功能,包括数组操作、DOM 元素动态生成等。以下是几种常见的实现方法: 使用数组存储列表数据 数组是 JavaSc…

js 实现分页

js 实现分页

实现分页的基本逻辑 分页功能通常需要后端返回数据总量或总页数,前端根据当前页码和每页条数截取对应数据。以下是一个基于JavaScript的简单分页实现方案: 前端分页实现 假设已有从后端获取的完整数…

js实现tab选项卡切换

js实现tab选项卡切换

实现Tab选项卡切换的JavaScript方法 使用纯JavaScript实现Tab切换功能,可以通过监听点击事件动态切换内容显示状态。以下是两种常见实现方式: 基础DOM操作实现 // 获取所有…

js实现预览

js实现预览

文件上传预览实现 使用JavaScript实现文件上传预览功能,可以通过FileReader对象读取文件内容并显示预览。以下代码支持图片、文本和PDF文件的预览: // HTML部分需要包含…