在 JavaScript 中,构造函数的静态成员和实例成员是两种不同的属性和方法类型。

  1. 静态成员:静态成员是构造函数本身的属性或方法,而不是构造函数创建的实例的属性或方法。可以通过构造函数本身直接访问和调用静态成员,而不需要创建实例。
function MyClass() {}

// 静态属性
MyClass.staticProp = 'Static Property';

// 静态方法
MyClass.staticMethod = function() {
  console.log('Static Method');
};

// 访问静态属性
console.log(MyClass.staticProp); // 输出:Static Property

// 调用静态方法
MyClass.staticMethod(); // 输出:Static Method
  1. 实例成员:实例成员是构造函数创建的实例的属性或方法。每个实例都有自己独立的实例成员。
function MyClass() {
  // 实例属性
  this.instanceProp = 'Instance Property';
}

// 实例方法
MyClass.prototype.instanceMethod = function() {
  console.log('Instance Method');
};

// 创建实例
var obj = new MyClass();

// 访问实例属性
console.log(obj.instanceProp); // 输出:Instance Property

// 调用实例方法
obj.instanceMethod(); // 输出:Instance Method

需要注意的是,静态成员和实例成员之间是相互独立的,不能通过实例访问静态成员,也不能通过构造函数访问实例成员。

console.log(obj.staticProp); // undefined
obj.staticMethod(); // TypeError: obj.staticMethod is not a function

console.log(MyClass.instanceProp); // undefined
MyClass.instanceMethod(); // TypeError: MyClass.instanceMethod is not a function
JavaScript 构造函数的静态成员和实例成员详解

原文地址: https://www.cveoy.top/t/topic/qDJA 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录