美文网首页js css html前端JavaScript
JavaScript 构造函数私有、公有、静态、特权方法

JavaScript 构造函数私有、公有、静态、特权方法

作者: 暴躁程序员 | 来源:发表于2022-06-27 14:15 被阅读0次

3. 构造函数的私有、公有、静态、特权方法

  1. 私有属性和方法
    创建:在构造函数内部创建的变量是私有属性,创建的函数是私有方法
    特点:私有方法不可在类的外部调用,且可调用共有和私有的方法或属性
function Student() {
    const name = 'Student 私有属性'
    const method1 = function () {
        return 'Student 私有方法'
    }
    function method2() {
        return 'Student 私有方法'
    }
}
  1. 公有属性和方法
    创建:在构造函数内部通过this创建的变量是公有属性,在构造函数内部或者外部创建在原型对象上的函数是公有方法
    特点:公有方法可以通过实例化的方式在类的外部调用
function Student(params) {
    this.name = 'Student 公有属性'
    Student.prototype.method1 = function () {
        console.log('Student 公有方法1');
    }
}
Student.prototype.method2 = function () {
    console.log('Student 公有方法2' + this.name);
}
console.log(new Student().name);
new Student().method1()
new Student().method2()
// 在构造函数内部创建的公有方法,所有属性和方法均可调用
// 在构造函数外部创建的公有方法,可调用共有的属性和方法,不可调用私有属性和方法
  1. 静态属性和方法
    创建:在构造函数外部通过构造函数名称创建的属性是静态属性,创建的方法是静态方法
    特点:静态方法通过构造函数名称的方式调用,且不可访问构造函数内部的所有属性和方法
function Student() {
    this.age = 18
}
Student.nameX = 'Student 静态属性'
Student.method = function () {
    console.log('Student 静态方法' + this.age); // 结果: Student 静态方法undefined
}
Student.method()
console.log(Student.nameX);// 注意:Student.name的结果是 Student,注意自定义的名称勿要起冲突
  1. 特权方法
    创建:在构造函数内部通过 this 的方式创建的方法是特权方法
    特点:与在构造函数内部创建的公有方法相同
function Student() {
    this.age = 18
    this.method = function () {
        console.log(this.age);
    }
}
new Student().method()

相关文章

  • JavaScript 构造函数私有、公有、静态、特权方法

    3. 构造函数的私有、公有、静态、特权方法 私有属性和方法创建:在构造函数内部创建的变量是私有属性,创建的函数是私...

  • Java基础-单例模式

    概述 使用一个私有构造函数、一个私有静态变量以及一个公有静态函数来实现。私有构造函数保证了不能通过构造函数来创建对...

  • python 13面向对象

    构造函数 析构函数 私有 类方法 静态方法 属性方法

  • 单例模式

    方式一: 使用时才进行初始化,包括私有的构造方法,私有的全局静态变量,公有的静态方法。 public class ...

  • 单例模式的几种写法

    单例模式要点 私有的构造方法 指向实例的私有静态引用 获取实例对象的公有静态方法 饿汉模式(非线程安全) 懒汉模式...

  • JavaScript:公有、私有、特权和静态成员

    作用域链是用来描述一种路径的术语,沿着该路径可以确定变量的值(或者当函数调用时要使用的方法)。本质上说var关键字...

  • javascript 类的私有/公有/静态属性、方法、特权方法

    1. ES5的声明方法 2. ES6的声明方法 3. 调用 私有属性 公共属性 私有方法 特权方法: 公共方法 原...

  • 构造函数

    构造函数分为: 1.实例构造函数 2.私有构造函数 3.静态构造函数 私有构造函数 私有构造函数是一种特殊的实例构...

  • 私有变量和静态私有变量

    javascript中的所有对象属性是公有的,不过在函数中定义的变量可以认为是私有的。 1.在构造函数中添加公有方...

  • 2018-12-06

    7.4.1 静态私有变量 通过在私有作用域中定义私有变量或函数,同样也可以创建特权方法,其基本模式如下: 这个模式...

网友评论

    本文标题:JavaScript 构造函数私有、公有、静态、特权方法

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