美文网首页
JS 构造函数中的静态成员、实例成员

JS 构造函数中的静态成员、实例成员

作者: Cherry丶小丸子 | 来源:发表于2023-08-14 16:38 被阅读0次
静态成员:构造函数直接调用的属性、方法叫静态成员
function Person(){}
Person.sex = "男";  // 静态属性 sex
Person.sayName = function (){ // 静态方法 sayName
    console.log('Hellow World'); 
}

console.log(Person.sex); // 男
Person.sayName() // Hellow World

var person = new Person();
console.log(person.sex); // undefined
person.sayName(); // Uncaught TypeError: person.sayName is not a function

由此可见:静态成员的属性和方法不能通过实例对象调用,只能通过类的本身调用
实例成员:构造函数实例化的对象才能调用的属性、方法叫实例成员

在构造函数中,通过 this.xxx 属性声明或实例化对象后通过 对象.xxx 追加的都属于实例成员,也叫实例属性与实例方法

function Person(name){
    this.name = name; // 实例属性 name
    this.say = function(){} // 实例方法 say()
}

var person = new Person();
person.age = 14; // 实例属性 age
person.sayName(); // 实例方法 sayName()

console.log(Person.name); // undefined
Person.sayName() // Uncaught TypeError: Person.sayName is not a function

由此可见:实例成员的属性和方法也不能通过类本身调用,只能通过实例化对象调用
原型属性与原型方法
原型属性与原型方法写在了构造函数的 prototype 上
当使用构造函数实例化对象时,该属性和方法会进入新对象的 __proto__ 上

function Person(){}
Person.prototype.age = '18'; // 声明原型属性
Person.prototype.say = function(){ // 声明原型方法
    console.log('Hellow World')
};

console.log(Person.age) // undefined
Person.say(); // Uncaught TypeError: Person.say is not a function

var person = new Person();
console.log(person.age); // 可以使用实例对象调用原型属性,实际是 person.__proto__.name
person.say(); //可以使用实例对象调用原型方法,实际是 person.__proto__.say()

由此可见:类的原型的属性和方法也不能通过类本身调用,只能通过实例化对象调用
私有属性与私有方法
function Person(name){
    var sex = "男";
    console.log(sex); // 私有属性只能在类内容使用
}
console.log(Person.sex); // 无法调用,私有属性只能在类内容使用

var person = new Person();
alert(person.sex); // 无法调用,私有属性只能在类内容使用

相关文章

  • 原型和原型链

    1. 静态成员和实例成员 静态成员在构造函数本身上添加的成员,静态成员只能通过构造函数来访问。 2. 实例成员 实...

  • js高级-02

    静态成员和实例成员 实例成员实例成员就是构造函数内部通过this添加的成员 如下列代码中uname age sin...

  • DAY3

    构造函数中的属性和方法称为成员,成员可以添加1、实例成员:①是构造函数内部通过this添加 的成员②实例成员只能通...

  • 静态成员和实例成员

    静态成员定义在构造函数上面的成员(属性和方法) 实例成员定义在实例对象上面的成员(属性和方法) 建议 代码示例

  • 02JavaScript-构造函数和原型

    对象的三种创建方式 1.字面量方式 2.new关键字 3.构造函数方式 静态成员和实例成员 实例成员实例成员就是构...

  • JS中的构造函数和函数中的prototype(原型)以及对象中的

    一:JS构造函数 1:JS构造函数的静态成员和静态方法 写过后端语言如java的一般都知道static就是静态修饰...

  • es5构造函数

    实例成员 实例成员就是构造函数内部通过 this添加的成员,uname, age ,sing就是实例成员实例成员只...

  • 静态成员

    原型成员:原型对象上的属性或者是方法。实例成员:实例对象上的属性或者方法。静态成员:直接添加在构造函数上的属性和方...

  • 静态类是不能实例化的

    静态类 原则 静态类中的所有成员必须是静态的。 静态构造函数 静态类可以有静态构造函数,静态构造函数不可继承。 静...

  • TypeScript 03——成员方法定义与调用

    类中的成员分为: 静态成员 和 实例成员;静态成员包含了:静态属性 和 静态方法;实例成员包含了:实例属性 和 实...

网友评论

      本文标题:JS 构造函数中的静态成员、实例成员

      本文链接:https://www.haomeiwen.com/subject/gprcmdtx.html