JavaScript数组静态属性/方法与实例属性/方法的区别解析
JavaScript数组的静态与实例属性/方法详解
在JavaScript里,数组相关的属性和方法主要分成两大阵营:静态属性/方法和实例属性/方法,它们的调用方式和适用场景差别挺大的,我给你详细梳理下:
一、静态属性/方法
这类属性和方法直接和数组的构造函数Array绑定,完全不需要依赖具体的数组实例。
1. 静态方法
- 直接通过
Array构造函数调用,不用在某个具体数组上执行 - 作用于构造函数本身,核心用途是创建新数组或者把其他类型的数据转换成数组
- 常见的例子有
Array.of()、Array.from()、Array.isArray()
// 用静态方法创建新数组 const newArray = Array.of(1, 2, 3);
2. 静态属性
- 和
Array构造函数关联的属性,通过构造函数名直接访问 - 典型例子是
Array.length,它返回的是构造函数预期接收的参数数量(注意和数组实例的length不是一回事哦)
// 获取静态属性的值 const constructorLength = Array.length;
二、实例属性/方法
这类是和你创建的具体数组实例绑定的,只能在某个特定数组上调用或访问。
1. 实例方法
- 必须在具体的数组实例上调用,比如你用
[]或者new Array()创建的那个数组对象 - 作用于当前这个数组实例,要么修改数组内容,要么基于数组内容返回结果
- 用来做各种数组操作:增删元素、合并数组、迭代遍历等等,常见的有
push()、pop()、concat()、forEach()
const myArray = [1, 2, 3]; // 在数组实例上调用push方法添加元素 myArray.push(4);
2. 实例属性
- 属于单个数组实例的属性,用来获取这个数组的具体信息
- 最常用的就是
length,它返回当前数组的元素个数
const myArray = [1, 2, 3]; // 获取这个数组实例的长度 const arrayLength = myArray.length;
核心区别总结
简单来说:
- 静态属性/方法和
Array构造函数绑定,负责创建/转换数组、提供构造函数相关的信息 - 实例属性/方法和单个具体数组绑定,负责操作这个特定数组、获取它的专属信息
内容的提问来源于stack exchange,提问作者user9726696
相关产品推荐
相关产品推荐

