JavaScript 基础对象
2025-05-15
Number
- JavaScript 数字是浮点数。
- 数字可以用十进制、十六进制或科学计数法表示。
- 数字可以用 +、-、*、/、% 运算符进行运算。
- 数字可以用 Number() 函数转换为数字。
属性
| 属性 | 描述 |
|---|---|
| Number.MAX_VALUE | 最大正数值 |
| Number.MIN_VALUE | 最小正数值 |
| Number.NaN | 非数字值 |
| Number.NEGATIVE_INFINITY | 负无穷大 |
| Number.POSITIVE_INFINITY | 正无穷大 |
| Number.prototype | 数字原型 |
| Number.EPSILON | 表示 1 和比最接近 1 且大于 1 的最小 Number 之间的差别 |
| Number.MIN_SAFE_INTEGER | 表示在 JavaScript中最小的安全的 integer 型数字 (-(253 - 1))。 |
| Number.MAX_SAFE_INTEGER | 表示在 JavaScript 中最大的安全整数(253 - 1)。 |
方法
| 方法 | 描述 |
|---|---|
| Number.isFinite() | 判断是否为有限数值。 |
| Number.isInteger() | 判断是否为整数。 |
| Number.isNaN() | 判断是否为 NaN。 |
| Number.isSafeInteger() | 判断是否为安全整数。 |
| Number.parseFloat() | 解析字符串为浮点数。 |
| Number.parseInt() | 解析字符串为整数。 |
| Number.prototype.toExponential() | 将数字转换为指数计数法。 |
| Number.prototype.toFixed() | 将数字转换为指定位数的字符串。 |
| Number.prototype.toLocaleString() | 根据本地化规则将数字转换为字符串。 |
| Number.prototype.toPrecision() | 将数字转换为指定位数的字符串。 |
| Number.prototype.toString() | 将数字转换为字符串。 |
| Number.prototype.valueOf() | 返回数字本身。 |
javascript
var x = Number.EPSILON;
var y = Number.MAX_VALUE;
var z = Number.MIN_VALUE;
document.getElementById("demo-x").innerHTML = " Number.EPSILON: " + x;
document.getElementById("demo-y").innerHTML = " Number.MAX_VALUE: " + y;
document.getElementById("demo-z").innerHTML = " Number.MIN_VALUE: " + z;
document.getElementById("demo").innerHTML =Number.isInteger(10) + "<br>" + Number.isInteger(10.5);html
<p>ES6 新增 Number 属性</p>
<p id="demo-x"></p>
<p id="demo-y"></p>
<p id="demo-z"></p>
<hr>
<p>ES6 新增 Number 方法</p>
<p id="demo"></p>String
- JavaScript 字符串是不可变的。
- 字符串是一系列 16 位 Unicode 字符组成的序列。
- 字符串可以用单引号(')或双引号(")括起来。
- 字符串可以用反斜杠(\)转义特殊字符。
- 字符串可以用 + 运算符连接。
- 字符串的长度是字符串中 16 位 Unicode 字符的数量。
- 字符串的索引从 0 开始。
- 字符串的每一位可以用方括号([])访问。
属性
| 属性 | 描述 |
|---|---|
| String.length | 字符串的长度 |
| String.prototype | 字符串原型 |
方法
| 方法 | 描述 |
|---|---|
| fromCharCode() | 将 Unicode 编码转换为字符串。 |
| fromCodePoint() | 将 Unicode 编码点转换为字符串。 |
| raw() | 处理模板字符串,并返回一个字符串。 |
| prototype.charAt() | 返回指定位置的字符。 |
| prototype.charCodeAt() | 返回指定位置的 Unicode 编码。 |
| prototype.codePointAt() | 返回指定位置的 Unicode 编码点。 |
| prototype.concat() | 连接两个或多个字符串,并返回一个新字符串。 |
| prototype.endsWith() | 判断字符串是否以指定字符串结尾。 |
| prototype.includes() | 判断字符串是否包含指定字符串。 |
| prototype.indexOf() | 返回指定字符串第一次出现的位置。 |
| prototype.lastIndexOf() | 返回指定字符串最后一次出现的位置。 |
| prototype.localeCompare() | 根据本地化规则比较两个字符串。 |
| prototype.match() | 使用正则表达式匹配字符串,并返回匹配结果。 |
| prototype.normalize() | 规范化字符串,并返回规范化后的字符串。 |
| prototype.padEnd() | 在字符串末尾填充指定字符。 |
| prototype.padStart() | 在字符串开头填充指定字符。 |
| prototype.repeat() | 重复指定次数字符串,并返回一个新字符串。 |
| prototype.replace() | 使用正则表达式替换字符串,并返回一个新字符串。 |
| prototype.search() | 使用正则表达式搜索字符串,并返回匹配的位置。 |
| prototype.slice() | 返回字符串的片段。 |
| prototype.split() | 使用正则表达式分割字符串,并返回分割后的数组。 |
| prototype.startsWith() | 判断字符串是否以指定字符串开头。 |
| prototype.substr() | 返回字符串的子字符串。 |
| prototype.substring() | 返回字符串的子字符串。 |
| prototype.toLocaleLowerCase() | 根据本地化规则将字符串转换为小写,并返回新的字符串。 |
| prototype.toLocaleUpperCase() | 根据本地化规则将字符串转换为大写,并返回新的字符串。 |
| prototype.toLowerCase() | 将字符串转换为小写,并返回新的字符串。 |
| prototype.toUpperCase() | 将字符串转换为大写,并返回新的字符串。 |
| prototype.trim() | 去除字符串两端的空白字符,并返回新的字符串。 |
| prototype.valueOf() | 返回字符串本身。 |
javascript
var str="a,b,c,d,e,f";
var n=str.split(",");
document.getElementById("demo").innerHTML=n[0];
var txt="Hello World!"; //
var txt1=txt.toUpperCase(); // txt1 文本会转换为大写
var txt2=txt.toLowerCase(); // txt2 文本会转换为小写
document.getElementById("demo1").innerHTML=txt1+"<br>"+txt2;html
<p id="demo"></p>
<p id="demo1"></p>Boolean
- JavaScript 布尔值只有两个值:true 和 false。
- 布尔值可以用 typeof 操作符判断。
- 布尔值可以用 &&、|| 和 ! 运算符进行运算。
- 布尔值可以用 Boolean() 函数转换为布尔值。
属性
| 属性 | 描述 |
|---|---|
| Boolean.prototype | 布尔值原型 |
方法
| 方法 | 描述 |
|---|---|
| Boolean.prototype.toString() | 将布尔值转换为字符串。 |
| Boolean.prototype.valueOf() | 返回布尔值本身。 |
javascript
var x = true;
var y = false;
document.getElementById("demo").innerHTML = " typeof x: " + typeof x + "<br>" + " typeof y: " + typeof y;html
<p id="demo"></p>Array
- JavaScript 数组是一种特殊的对象。
- 数组可以包含多个值。
- 数组的索引从 0 开始。
- 数组可以用方括号([])访问。
- 数组的长度是数组中元素的数量。
属性
| 属性 | 描述 |
|---|---|
| Array.length | 数组的长度 |
| Array.prototype | 数组原型 |
方法
| 方法 | 描述 |
|---|---|
| Array.isArray() | 判断是否为数组。 |
| Array.from() | 将类似数组的对象或可迭代对象转换为数组。 |
| Array.of() | 将一组值转换为数组。 |
| Array.prototype.concat() | 连接两个或多个数组,并返回一个新数组。 |
| Array.prototype.copyWithin() | 浅复制数组的一部分到同一数组中的另一个位置,并返回它。 |
| Array.prototype.entries() | 返回一个新的迭代器对象,该对象包含数组中每个索引的键值对。 |
| Array.prototype.every() | 测试数组中的所有元素是否都满足指定条件。 |
| Array.prototype.fill() | 用指定值填充数组。 |
| Array.prototype.filter() | 创建一个新数组,其包含通过所提供的函数实现的测试的所有元素。 |
| Array.prototype.find() | 返回数组中满足提供的测试函数的第一个元素的值,否则返回 undefined。 |
| Array.prototype.findIndex() | 返回数组中满足提供的测试函数的第一个元素的索引,否则返回 -1。 |
| Array.prototype.flat() | 将数组降维,并返回降维后的新数组。 |
| Array.prototype.flatMap() | 类似于 map 和 flat,但是会将结果转换为一个扁平的数组。 |
| Array.prototype.forEach() | 对数组的每个元素执行一次提供的函数。 |
| Array.prototype.includes() | 判断数组是否包含指定元素。 |
| Array.prototype.indexOf() | 返回数组中第一个出现的指定元素的索引,否则返回 -1。 |
| Array.prototype.join() | 将数组转换为字符串,并用指定分隔符连接所有元素。 |
| Array.prototype.keys() | 返回一个新的迭代器对象,该对象包含数组中每个索引的键。 |
| Array.prototype.lastIndexOf() | 返回数组中最后出现的指定元素的索引,否则返回 -1。 |
| Array.prototype.map() | 创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果。 |
| Array.prototype.pop() | 删除并返回数组的最后一个元素。 |
| Array.prototype.push() | 在数组的末尾添加一个或多个元素,并返回新的长度。 |
| Array.prototype.reduce() | 对数组中的每个元素执行一个函数,将其结果汇总为单个值。 |
| Array.prototype.reduceRight() | 类似于 reduce,但是从右到左执行。 |
| Array.prototype.reverse() | 颠倒数组中元素的顺序。 |
| Array.prototype.shift() | 删除并返回数组的第一个元素。 |
| Array.prototype.slice() | 返回数组的浅拷贝或指定范围的新数组。 |
| Array.prototype.some() | 测试数组中的某些元素是否满足指定条件。 |
| Array.prototype.sort() | 对数组的元素进行排序,并返回排序后的数组。 |
| Array.prototype.splice() | 修改数组的长度,并从指定位置添加或删除元素。 |
| Array.prototype.toLocaleString() | 根据本地化规则将数组转换为字符串。 |
| Array.prototype.toString() | 将数组转换为字符串。 |
| Array.prototype.unshift() | 在数组的开头添加一个或多个元素,并返回新的长度。 |
| Array.prototype.values() | 返回一个新的迭代器对象,该对象包含数组中每个索引的值。 |
javascript
var fruits = ["Banana", "Orange", "Apple", "Mango"];
var fruits1 = fruits.slice(1, 3); // 从索引 1 到 2(不包括 2)的元素
var fruits2 = fruits.splice(1, 2); // 从索引 1 开始删除 2 个元素,并返回被删除的元素
var fruits3 = fruits.join(" - "); // 用 " - " 连接数组元素
var fruits4 = fruits.reverse(); // 反转数组
var fruits5 = fruits.sort(); // 排序数组
var fruits6 = fruits.map(x => x.length); // 映射数组元素
var fruits7 = fruits.filter(x => x.length > 5); // 过滤数组元素
var fruits8 = fruits.reduce((acc, cur) => acc + cur.length, 0); // 聚合数组元素
document.getElementById("demo").innerHTML = fruits1 + "<br>" + fruits2 + "<br>" + fruits3 + "<br>" + fruits4 + "<br>" + fruits5 + "<br>" + fruits6 + "<br>" + fruits7 + "<br>" + fruits8;html
<p id="demo"></p>Date
- JavaScript 日期对象用于处理日期和时间。
- 日期对象可以用 new Date() 构造函数创建。
- 日期对象可以用 Date.now() 方法获取当前日期和时间。
- 日期对象可以用 Date.parse() 方法解析日期字符串。
- 日期对象可以用 Date.UTC() 方法创建 UTC 日期。
属性
| 属性 | 描述 |
|---|---|
| Date.prototype | 日期原型 |
方法
| 方法 | 描述 |
|---|---|
| Date.now() | 返回当前日期和时间的毫秒值。 |
| Date.parse() | 解析日期字符串并返回毫秒值。 |
| Date.UTC() | 创建 UTC 日期对象。 |
| Date.prototype.getDate() | 返回日期中的日(1-31)。 |
| Date.prototype.getDay() | 返回日期中的星期几(0-6)。 |
| Date.prototype.getFullYear() | 返回四位数的年份。 |
| Date.prototype.getHours() | 返回日期中的小时(0-23)。 |
| Date.prototype.getMilliseconds() | 返回日期中的毫秒(0-999)。 |
| Date.prototype.getMinutes() | 返回日期中的分钟(0-59)。 |
| Date.prototype.getMonth() | 返回日期中的月份(0-11)。 |
| Date.prototype.getSeconds() | 返回日期中的秒(0-59)。 |
| Date.prototype.getTime() | 返回日期的毫秒值。 |
| Date.prototype.getTimezoneOffset() | 返回本地时间与 UTC 时间的时差(分钟)。 |
| Date.prototype.getUTCDate() | 返回 UTC 日期中的日(1-31)。 |
| Date.prototype.getUTCDay() | 返回 UTC 日期中的星期几(0-6)。 |
| Date.prototype.getUTCFullYear() | 返回 UTC 日期中的年份。 |
| Date.prototype.getUTCHours() | 返回 UTC 日期中的小时(0-23)。 |
| Date.prototype.getUTCMilliseconds() | 返回 UTC 日期中的毫秒(0-999)。 |
| Date.prototype.getUTCMinutes() | 返回 UTC 日期中的分钟(0-59)。 |
| Date.prototype.getUTCMonth() | 返回 UTC 日期中的月份(0-11)。 |
| Date.prototype.getUTCSeconds() | 返回 UTC 日期中的秒(0-59)。 |
| Date.prototype.setDate() | 设置日期中的日(1-31)。 |
| Date.prototype.setFullYear() | 设置日期中的年份(四位数)。 |
| Date.prototype.setHours() | 设置日期中的小时(0-23)。 |
| Date.prototype.setMilliseconds() | 设置日期中的毫秒(0-999)。 |
| Date.prototype.setMinutes() | 设置日期中的分钟(0-59)。 |
| Date.prototype.setMonth() | 设置日期中的月份(0-11)。 |
| Date.prototype.setSeconds() | 设置日期中的秒(0-59)。 |
| Date.prototype.setTime() | 设置日期的毫秒值。 |
| Date.prototype.setUTCDate() | 设置 UTC 日期中的日(1-31)。 |
| Date.prototype.setUTCFullYear() | 设置 UTC 日期中的年份(四位数)。 |
| Date.prototype.setUTCHours() | 设置 UTC 日期中的小时(0-23)。 |
| Date.prototype.setUTCMilliseconds() | 设置 UTC 日期中的毫秒(0-999)。 |
| Date.prototype.setUTCMinutes() | 设置 UTC 日期中的分钟(0-59)。 |
| Date.prototype.setUTCMonth() | 设置 UTC 日期中的月份(0-11)。 |
| Date.prototype.setUTCSeconds() | 设置 UTC 日期中的秒(0-59)。 |
| Date.prototype.toDateString() | 返回日期的字符串表示形式("YYYY-MM-DD")。 |
| Date.prototype.toISOString() | 返回日期的 ISO 字符串表示形式("YYYY-MM-DDTHH:mm:ss.sssZ")。 |
| Date.prototype.toJSON() | 返回日期的 JSON 字符串表示形式("YYYY-MM-DDTHH:mm:ss.sssZ")。 |
| Date.prototype.toLocaleDateString() | 根据本地化规则返回日期的字符串表示形式("MM/DD/YYYY")。 |
| Date.prototype.toLocaleString() | 根据本地化规则返回日期的字符串表示形式。 |
| Date.prototype.toLocaleTimeString() | 根据本地化规则返回日期的字符串表示形式("HH:mm:ss")。 |
| Date.prototype.toTimeString() | 返回日期的字符串表示形式("HH:mm:ss")。 |
| Date.prototype.toUTCString() | 返回日期的 UTC 字符串表示形式("GMT YYYY-MM-DDTHH:mm:ss.sss")。 |
| Date.prototype.UTC() | 返回指定日期的毫秒值。 |
javascript
var today = new Date();
var date = today.toLocaleDateString();
var time = today.toLocaleTimeString();
document.getElementById("demo").innerHTML = "Today is " + date + " " + time;html
<p id="demo"></p>Math
- 数学对象可以用 Math.PI、Math.E、Math.SQRT2、Math.SQRT1_2 等属性访问常用数学常量。
属性
| 属性 | 描述 |
|---|---|
| Math.PI | 圆周率 |
| Math.E | 自然常数 |
| Math.SQRT2 | 平方根号 2 |
| Math.SQRT1_2 | 平方根号 1/2 |
| Math.LN2 | 自然对数的底 2 |
| Math.LN10 | 自然对数的底 10 |
| Math.LOG2E | 以 2 为底的对数的底 |
| Math.LOG10E | 以 10 为底的对数的底 |
| Math.PI2 | 圆周率的 2 倍 |
| Math.TAU | 圆周率的 2 倍 |
方法
| 方法 | 描述 |
|---|---|
| Math.abs() | 返回绝对值。 |
| Math.acos() | 返回反余弦值。 |
| Math.acosh() | 返回反双曲余弦值。 |
| Math.asin() | 返回反正弦值。 |
| Math.asinh() | 返回反双曲正弦值。 |
| Math.atan() | 返回反正切值。 |
| Math.atan2() | 返回两个变量的反正切值。 |
| Math.atanh() | 返回反双曲正切值。 |
| Math.cbrt() | 返回立方根值。 |
| Math.ceil() | 返回大于或等于指定数字的最小整数。 |
| Math.clz32() | 返回 32 位无符号整数的前导 0 的个数。 |
| Math.cos() | 返回余弦值。 |
| Math.cosh() | 返回双曲余弦值。 |
| Math.exp() | 返回指数值。 |
| Math.expm1() | 返回指数值减 1。 |
| Math.floor() | 返回小于或等于指定数字的最大整数。 |
| Math.fround() | 返回 32 位浮点数。 |
| Math.hypot() | 返回两个变量的平方和的平方根。 |
| Math.imul() | 返回两个 32 位整数的乘积。 |
| Math.log() | 返回自然对数值。 |
| Math.log1p() | 返回自然对数值加 1。 |
| Math.log10() | 返回以 10 为底的对数值。 |
| Math.log2() | 返回以 2 为底的对数值。 |
| Math.max() | 返回最大值。 |
| Math.min() | 返回最小值。 |
| Math.pow() | 返回指定数的指定次方。 |
| Math.random() | 返回 0 到 1 之间的随机数。 |
| Math.round() | 返回四舍五入后的数字。 |
| Math.sign() | 返回符号值。 |
| Math.sin() | 返回正弦值。 |
| Math.sinh() | 返回双曲正弦值。 |
| Math.sqrt() | 返回平方根值。 |
| Math.tan() | 返回正切值。 |
| Math.tanh() | 返回双曲正切值。 |
| Math.trunc() | 返回整数部分。 |
javascript
var num1 = Math.abs(-5); // 5
var num2 = Math.ceil(3.4); // 4
var num3 = Math.floor(3.6); // 3
var num4 = Math.round(3.6); // 4
var num5 = Math.sqrt(16); // 4
var num6 = Math.pow(2, 3); // 8
var num7 = Math.max(3, 5, 1); // 5
var num8 = Math.min(3, 5, 1); // 1
var num9 = Math.random(); // 0-1 之间的随机数
document.getElementById("demo").innerHTML = num1 + "<br>" + num2 + "<br>" + num3 + "<br>" + num4 + "<br>" + num5 + "<br>" + num6 + "<br>" + num7 + "<br>" + num8 + "<br>" + num9;html
<p id="demo"></p>RegExp
- 正则表达式对象用于处理正则表达式。
- 正则表达式对象可以用 RegExp() 构造函数创建。
属性
| 属性 | 描述 |
|---|---|
| RegExp.prototype | 正则表达式原型 |
方法
| 方法 | 描述 |
|---|---|
| RegExp.prototype.compile() | 编译正则表达式。 |
| RegExp.prototype.exec() | 执行正则表达式匹配。 |
| RegExp.prototype.test() | 测试字符串是否匹配正则表达式。 |
| RegExp.prototype.toString() | 返回正则表达式的字符串形式。 |
javascript
var pattern = /hello/i;
var str = "Hello World";
var result = pattern.test(str); // true
document.getElementById("demo").innerHTML = result;html
<p id="demo"></p>全局
- 全局对象可以用 this 访问。
属性
| 属性 | 描述 |
|---|---|
| Infinity | 代表正的无穷大的数值。 |
| NaN | 代表非数字值的特殊值。 |
| undefined | 代表未定义的值。 |
方法
| 方法 | 描述 |
|---|---|
| isNaN() | 判断是否为 NaN。 |
| isFinite() | 判断是否为有限数值。 |
| parseFloat() | 解析字符串并返回浮点数。 |
| parseInt() | 解析字符串并返回整数。 |
| decodeURI() | 解码 URI。 |
| decodeURIComponent() | 解码 URI 组件。 |
| encodeURI() | 编码 URI。 |
| encodeURIComponent() | 编码 URI 组件。 |
| escape() | 对字符串进行编码。 |
| unescape() | 对字符串进行解码。 |
html
<p id="demo"></p>