当前位置:首页 > 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

js实现判断

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判断自定义类型。

js实现判断

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

真值判断

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

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

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

标签: js
分享给朋友:

相关文章

js如何实现继承

js如何实现继承

原型链继承 通过将子类的原型指向父类的实例实现继承。子类实例能够访问父类原型上的属性和方法。 function Parent() { this.name = 'parent'; } Parent…

jquery.js

jquery.js

jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画设计和 Ajax 交互等操作。以下是关于 jQuery.js 的核心信息和使用方法: 获…

js实现pdf在线预览

js实现pdf在线预览

使用PDF.js实现PDF在线预览 PDF.js是由Mozilla开发的一个开源JavaScript库,可以在网页中直接渲染PDF文件。以下是实现PDF在线预览的步骤: 引入PDF.js库 在HT…

js实现选题

js实现选题

实现选题功能的JavaScript方法 基础实现方案 使用数组存储选项,通过随机索引选取: const options = ['选项A', '选项B', '选项C', '选项D']; const r…

js实现目录

js实现目录

实现目录的基本思路 在JavaScript中实现目录功能通常涉及以下几个核心步骤:解析文档中的标题元素(如h1-h6),动态生成目录结构,并添加交互逻辑(如点击跳转)。以下是具体实现方法: 解析标题…

js节流实现

js节流实现

节流的概念 节流(Throttle)是一种限制函数执行频率的技术,确保函数在一定时间间隔内只执行一次。常用于滚动事件、窗口调整等高频触发的场景。 基础实现方法 使用时间戳判断是否执行函数:…