JavaScript有许多内置对象,其中一些常见的包括:
- Object(对象):用于创建对象,对象是键值对的集合。可以使用点符号或者方括号来访问对象的属性和方法。
let person = {
name: 'Alice',
age: 30,
greet: function() {
console.log('Hello!');
}
};
console.log(person.name); // 访问对象属性
person.greet(); // 调用对象方法
- Array(数组):用于创建数组,数组是值的有序集合。可以使用索引来访问数组元素,以及使用许多内置方法来操作数组。
let fruits = ['apple', 'banana', 'orange'];
console.log(fruits[0]); // 访问数组元素
fruits.push('pear'); // 向数组末尾添加元素
- String(字符串):用于表示文本数据,字符串可以使用许多内置方法来操作和处理文本数据。
let message = 'Hello, world!';
console.log(message.length); // 获取字符串长度
console.log(message.toUpperCase()); // 将字符串转换为大写
- Function(函数):用于创建函数,函数是可重复使用的代码块。可以使用函数来封装代码,并在需要时调用它们。
function greet(name) {
console.log('Hello, ' + name + '!');
}
greet('Alice'); // 调用函数
- Math(数学):提供了许多数学相关的方法和常量,可以用于执行数学运算和操作。
console.log(Math.random()); // 生成一个随机数
console.log(Math.sqrt(16)); // 计算平方根
- Date(日期):用于处理日期和时间,可以创建日期对象并执行日期相关的操作。
let now = new Date();
console.log(now.getFullYear()); // 获取当前年份
- RegExp(正则表达式):用于处理文本模式匹配,可以创建正则表达式对象并执行模式匹配操作。
let pattern = /hello/;
console.log(pattern.test('hello, world')); // 检查字符串中是否包含匹配模式
- JSON(JSON对象):用于解析和序列化JSON数据,可以将JavaScript对象转换为JSON字符串,以及将JSON字符串转换为JavaScript对象。
let person = { name: 'Alice', age: 30 };
let jsonStr = JSON.stringify(person); // 将对象转换为JSON字符串
let jsonObj = JSON.parse(jsonStr); // 将JSON字符串转换为对象
- Map(映射):用于存储键值对的集合,其中键可以是任意数据类型。Map对象提供了用于添加、获取、删除和遍历键值对的方法。
let map = new Map();
map.set('name', 'Alice');
map.set('age', 30);
console.log(map.get('name')); // 获取键对应的值
- Set(集合):用于存储唯一值的集合,可以包含任意数据类型的值。Set对象提供了用于添加、删除和遍历值的方法。
let set = new Set();
set.add(1);
set.add(2);
set.add(1); // 重复的值不会被添加
console.log(set.size); // 获取集合的大小
- Promise(承诺):用于处理异步操作,可以将异步操作封装为Promise对象,并使用Promise提供的方法来处理操作的成功或失败。
let promise = new Promise((resolve, reject) => {
// 异步操作
if (/* 操作成功 */) {
resolve('Success');
} else {
reject('Error');
}
});
promise.then(result => {
console.log(result);
}).catch(error => {
console.error(error);
});
- Global(全局对象):JavaScript中的全局对象,可以在任何地方访问。它包含一些常用的方法和属性,例如
setTimeout
、setInterval
等。
let timeoutId = setTimeout(() => {
console.log('Timeout');
}, 1000);
- Error(错误):用于表示错误对象,可以用于抛出和捕获异常。
try {
// 可能会引发错误的代码
throw new Error('Something went wrong');
} catch (error) {
console.error(error.message);
}
- Boolean(布尔):用于表示布尔值,可以用于进行逻辑运算和条件判断。
let isTrue = true;
let isFalse = false;
console.log(Boolean(isTrue)); // 输出 true
- Symbol(符号):用于创建唯一的标识符,可以用作对象属性的键。
let sym1 = Symbol('key1');
let sym2 = Symbol('key2');
let obj = {
[sym1]: 'value1',
[sym2]: 'value2'
};
console.log(obj[sym1]); // 输出 'value1'
- BigInt(大整数):用于表示任意精度的整数,可以处理超出常规整数范围的数值计算。
const bigIntValue = 9007199254740991n + 1n;
console.log(bigIntValue); // 输出 9007199254740992n
- Reflect(反射):提供了一组静态方法,用于操作对象。它可以用于替代一些传统的Object方法,例如
Reflect.get
、Reflect.set
等。
let person = { name: 'Alice' };
Reflect.set(person, 'name', 'Bob');
console.log(person.name); // 输出 'Bob'
- Proxy(代理):用于创建一个代理对象,可以拦截并重定义基本操作,例如属性查找、赋值、函数调用等。
let target = {};
let handler = {
get: function(target, prop) {
return 'Hello, ' + prop;
}
};
let proxy = new Proxy(target, handler);
console.log(proxy.world); // 输出 'Hello, world'
- Intl(国际化):提供了用于处理国际化和本地化的功能,包括日期和时间格式化、数字格式化、货币格式化等。
let number = 123456.789;
console.log(new Intl.NumberFormat('en-US').format(number)); // 输出 "123,456.789"