排序
面试题:JavaScript 中为什么会有 BigInt 的提案?
JavaScript 中引入 BigInt 的提案,主要是为了解决Number 类型在表示和操作大整数时的精度限制问题。 核心原因:Number 类型的精度限制 在 JavaScript 中,所有的数字(包括整数和浮点数)都使...
面试题:JavaScript 的 == 和 === 有什么区别?
这是一个 JavaScript 中最经典、最基础的面试题,考察对相等性判断和类型转换的理解。 ✅ 核心区别 比较符名称是否进行类型转换推荐使用==相等(松散相等)✅ 是(会进行隐式类型转换)❌ 不推...
面试题:什么是 DOM 和 BOM?
DOM 和 BOM 是 JavaScript 操作浏览器环境的两个核心概念,它们共同构成了 Web 前端开发的基础。 1. DOM (Document Object Model - 文档对象模型) 定义:DOM 是 HTML 或 XML 文档的编程接口。它...
面试题:JavaScript 脚本延迟加载的方式有哪些?
JavaScript 脚本的延迟加载(Lazy Loading)指的是将脚本的加载或执行推迟到特定时机,以优化页面初始加载性能,避免阻塞关键渲染路径。它与异步加载(async)有重叠,但更侧重于“推迟”这一行...
面试题:JavaScript 的 splice 和 slice 函数会改变原数组吗?
这是一个非常典型的 JavaScript 面试题,考察对数组方法副作用的理解。 ✅ 直接答案: splice():会改变原数组 ✅ slice():不会改变原数组 ❌ 🔍 详细解释 1. splice() —— 会修改原数组 spli...
面试题:JavaScript 中判断数据类型的方式有哪些?
在 JavaScript 中,由于其动态类型和弱类型的特性,准确判断数据类型是开发中的常见需求。以下是几种主要的判断方式,各有优缺点和适用场景。 1. typeof 操作符 最常用的基础类型判断方法。 语...
面试题:如何获取安全的 undefined 值?
在 JavaScript 中,undefined 是一个原始值,表示变量已声明但未赋值。然而,在非严格模式(sloppy mode)下,undefined 并不是一个保留字,可以被重新赋值,这可能导致代码出现难以预料的错误...
面试题:JavaScript 脚本异步加载如何实现?各有什么区别?
在现代 Web 开发中,异步加载 JavaScript 脚本对于优化页面性能、避免阻塞页面渲染至关重要。以下是几种主要的实现方式及其区别: 1. <script> 标签的 async 属性 语法: <script src=...
面试题:为什么 JavaScript 中 0.1 + 0.2 !== 0.3,如何让其相等?
这是一个经典的 JavaScript 浮点数精度问题。 一、为什么 0.1 + 0.2 !== 0.3? 根本原因:二进制浮点数的精度限制 JavaScript 使用 IEEE 754 标准的 64 位双精度浮点数来表示数字。这种格式无法...
面试题:什么是 JavaScript 的类数组对象?如何转化为数组?
什么是 JavaScript 的类数组对象? 类数组对象(Array-like Object) 指的是一个普通对象,它具备以下两个关键特征,使其行为类似于数组,但不是真正的 Array 实例: 具有 length 属性:这个属...
