前端 JavaScript 基础面试题, JavaScript 有哪些内置对象?
前端 JavaScript 基础面试题, JavaScript 有哪些内置对象?
QA
Step 1
Q:: JavaScript 有哪些内置对象?
A:: JavaScript 提供了许多内置对象,常用的包括:
1. **Global Objects**:
-
Object
-
Function
-
Boolean
-
Symbol
-
Error
-
EvalError
-
RangeError
-
ReferenceError
-
SyntaxError
-
TypeError
-
URIError
2. **Numbers and Dates**:
-
Number
-
BigInt
-
Math
-
Date
3. **Text Processing**:
-
String
-
RegExp
4. **Indexed Collections**:
-
Array
- Int8
Array
- Uint8
Array
- Uint8
ClampedArray
- Int16
Array
- Uint16
Array
- Int32
Array
- Uint32
Array
- Float32
Array
- Float64
Array
5. **Keyed Collections**:
-
Map
-
Set
-
WeakMap
-
WeakSet
6. **Structured Data**:
-
ArrayBuffer
-
SharedArrayBuffer
-
DataView
-
JSON
7. **Control Abstraction Objects**:
-
Promise
-
Generator
-
GeneratorFunction
-
AsyncFunction
8. **Reflection**:
-
Reflect
-
Proxy
Step 2
Q:: 什么是原型链?
A:: 原型链是 JavaScript 中实现继承的主要方式。当访问对象的属性时,如果该对象自身没有这个属性,那么 JavaScript 引擎会沿着原型链向上查找。每个对象都有一个原型对象,该原型对象也可以有自己的原型,依此类推,直到某个对象的原型为 null。这种链接称为原型链。
Step 3
Q:: JavaScript 中的闭包是什么?
A:: 闭包是指那些能够访问自由变量的函数。换句话说,闭包可以让你从内部函数访问外部函数作用域中的变量。闭包在 JavaScript 中非常常见,通常在需要访问一个封闭的变量时使用。
Step 4
Q:: 请解释 'this'
关键字在 JavaScript 中的使用。
A:: 'this'
关键字在 JavaScript 中有多种使用方式,其值取决于函数的调用方式:
- 作为对象的方法调用时,'this'
指向该对象。
- 作为普通函数调用时,'this'
指向全局对象(在严格模式下为 undefined)。
- 使用 'new' 关键字调用构造函数时,'this'
指向新创建的对象。
- 使用 'call' 或 'apply' 调用时,'this'
指向指定的对象。
Step 5
Q:: 什么是事件循环?
A:: 事件循环是 JavaScript 处理异步编程的机制。JavaScript 是单线程的,这意味着它一次只能执行一个任务。事件循环允许 JavaScript 执行异步代码,比如处理用户输入、网络请求等。当异步操作完成后,相应的回调函数会被放入消息队列中,等待主线程空闲时执行。事件循环不断检查消息队列,如果主线程空闲,就会取出并执行队列中的任务。