JavaScript


JavaScript 基础汇总

# 数据类型

JavaScript 的语言类型

JavaScript 的底层数据结构

数据类型的检测方式

判断数组的方式

null 和 undefined 的区别

instanceof 原理

0.1+0.2!==0.3

如何获取安全的 undefined

关于 NaN

==操作符的强制类型转换规则

其他值到字符串的转换规则

其他值到数字值的转换规则

其他值到布尔值的转换规则

且、或操作符的返回值

Object.is()与双等全等的区别

JavaScript 的包装类型

JavaScript 中如何进行隐式类型转换

+操作符什么时候用于字符串的拼接

为什么会有 BigInt 的提案

Object.assign 和扩展运算符是深拷贝还是浅拷贝,两者的区别

# JavaScript 基础

1 new 操作符的实现原理

2 map 和 Object 的区别

3 map 和 weakMap 的区别

4 JavaScript 有哪些内置的对象

3 常用的正则表达式有哪些?

3 对 JSON 的理解

2 JavaScript 脚本延迟加载的方式有哪些?

2 JavaScript 类数组对象的定义?

1 数组有哪些原生方法

3 Unicode、UTF-8、UTF-16、UTF-32 的区别?

3 常见的位运算符有哪些?其计算规则是什么?

2 为什么函数的 arguments 参数是类数组而不是数组?如何遍历类数组

1 什么是 DOM 和 BOM?

1 对类数组对象的理解,如何转化为数组

3 escape,encodeURI,encodeURIComponent 的区别

1 对 AJAX 的理解,实现一个 AJAX 请求

1 JavaScript 为什么要进行变量提升,它导致了什么问题?

3 什么是尾调用,使用尾调用有什么好处?

2 ES6 模块与 CommonJS 模块有什么异同?

3 常见的 DOM 操作有哪些

3 use strict 是什么意思?使用它区别是什么?

2 如何判断—个对象是否属于某个类?

4 强类型语言和弱类型语言的区别

4 解释性语言和编译型语言的区别

2 for...in 和 for...of 的区别

3 如何使用 for...of 遍历对象

3 ajax、 axios、 fetch 的区别

2 数组的遍历方法有哪些

2 forEach 和 map 方法有什么区别

# ES6

1 let、const、var 的区别

2 const 对象的属性可以修改吗

2 如果 new 一个箭头函数的会怎么样

1 箭头函数与普通函数的区别

2 箭头函数的 this 指向哪里?

3 扩展运算符的作用及使用场景

3 Proxy 可以实现什么功能?

3 对对象与数组的解构的理解

4 如何提取高度嵌套的对象里的指定属性

2 对 rest 参数的理解

2 ES6 中模板语法与字符串处理

# 原型

1 对原型、原型链的理解

2 原型修改、重写

1 原型链指向

3 原型链的终点是什么?如何打印出原型链的终点?

3 如何获得对象非原型链上的属性?

# 异步编程

2 异步编程的实现方式?

2 setTimeout、Promise、Async/Await 的区别

1 对 Promise 的理解

1 Promise 的基本用法

2 Promise 解决了什么问题

2 Promise.all 和 Promise.race 的区别和使用场景

1 对 async/await 的理解

2 await 到底在等啥?

2 async/await 的优势

1 async/await 对比 Promise 的优势

3 async/await 如何捕获异常

3 并发与并行的区别?

3 什么是回调函数?回调函数有什么缺点?如何解决回调地狱问题?

3 setTimeout、setlnterval、requestAnimationFrame 各有什么特点?

# 执行上下文/作用域链/闭包

1 对闭包的理解

1 对作用域、作用域链的理解

1 对执行上下文的理解

# this/call/apply/bind

1 对 this 对象的理解

1 call() 和 apply() 的区别

1 实现 call、apply 及 bind 函数

# 面向对象

2 对象创建的方式有哪些

2 对象继承的方式

# 垃圾回收与内存泄漏

1 浏览器的垃圾回收机制

2 哪些情况会导致内存泄漏

上次编辑于: 2025年7月10日 04:01
贡献者: HugStars