js构造函数的静态成员和实例成员
在JavaScript中,构造函数的静态成员和实例成员是两种不同的属性和方法类型。
- 静态成员:静态成员是构造函数本身的属性或方法,而不是构造函数创建的实例的属性或方法。可以通过构造函数本身直接访问和调用静态成员,而不需要创建实例。
function MyClass() {}
// 静态属性
MyClass.staticProp = "Static Property";
// 静态方法
MyClass.staticMethod = function() {
console.log("Static Method");
};
// 访问静态属性
console.log(MyClass.staticProp); // 输出:Static Property
// 调用静态方法
MyClass.staticMethod(); // 输出:Static Method
- 实例成员:实例成员是构造函数创建的实例的属性或方法。每个实例都有自己独立的实例成员。
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
``
原文地址: https://www.cveoy.top/t/topic/iXJI 著作权归作者所有。请勿转载和采集!