当前位置:首页 > JavaScript

js面向对象实现计数器

2026-01-31 11:14:18JavaScript

使用构造函数实现计数器

通过构造函数创建一个计数器对象,包含计数属性和增减方法:

function Counter() {
    this.count = 0;

    this.increment = function() {
        this.count++;
    };

    this.decrement = function() {
        this.count--;
    };

    this.getValue = function() {
        return this.count;
    };
}

const counter = new Counter();
counter.increment();
console.log(counter.getValue()); // 输出1

使用ES6类实现计数器

采用class语法糖实现更简洁的计数器类:

js面向对象实现计数器

class Counter {
    constructor() {
        this.count = 0;
    }

    increment() {
        this.count += 1;
    }

    decrement() {
        this.count -= 1;
    }

    getValue() {
        return this.count;
    }
}

const counter = new Counter();
counter.increment();
counter.increment();
console.log(counter.getValue()); // 输出2

使用闭包实现私有计数器

通过IIFE和闭包实现带私有变量的计数器:

js面向对象实现计数器

const Counter = (function() {
    let count = 0;

    return {
        increment: function() {
            count++;
        },
        decrement: function() {
            count--;
        },
        getValue: function() {
            return count;
        }
    };
})();

Counter.increment();
console.log(Counter.getValue()); // 输出1

带步长的计数器实现

扩展计数器功能,支持自定义步长:

class StepCounter {
    constructor(step = 1) {
        this.count = 0;
        this.step = step;
    }

    increment() {
        this.count += this.step;
    }

    decrement() {
        this.count -= this.step;
    }

    setStep(newStep) {
        this.step = newStep;
    }
}

const counter = new StepCounter(2);
counter.increment();
console.log(counter.count); // 输出2

使用原型链共享方法

通过原型链实现方法共享,节省内存:

function Counter() {
    this.count = 0;
}

Counter.prototype.increment = function() {
    this.count++;
};

Counter.prototype.decrement = function() {
    this.count--;
};

const c1 = new Counter();
const c2 = new Counter();
c1.increment();
console.log(c1.count); // 输出1
console.log(c2.count); // 输出0

分享给朋友:

相关文章

js面向对象实现时钟

js面向对象实现时钟

面向对象实现时钟的步骤 使用JavaScript面向对象编程实现一个时钟,可以通过创建类来封装时钟的逻辑和行为。以下是实现的具体方法。 创建时钟类 定义一个Clock类,包含时钟的基本属性和方法。时…

js 实现面向对象

js 实现面向对象

原型链继承 利用 JavaScript 的原型链机制实现继承。通过将子类的原型指向父类的实例,子类可以访问父类的属性和方法。 function Parent() { this.name = 'P…

js面向对象实现时钟

js面向对象实现时钟

面向对象实现时钟的方法 使用JavaScript的面向对象编程(OOP)可以实现一个动态更新的时钟。以下是具体实现步骤: 定义Clock类 创建一个Clock类,用于封装时钟的逻辑和数据: cla…

js实现一个面向对象

js实现一个面向对象

面向对象编程基础 JavaScript 是一种基于原型的面向对象语言,可以通过构造函数、原型链以及 ES6 的 class 语法实现面向对象编程。 使用构造函数和原型链 通过构造函数定义对象的属性和…

js面向对象实现计数器

js面向对象实现计数器

面向对象实现计数器的方法 使用JavaScript面向对象编程(OOP)实现计数器可以通过类(Class)的方式封装计数器的属性和方法。以下是一个完整的实现示例: class Counter {…

java 如何理解面向对象

java 如何理解面向对象

面向对象的基本概念 面向对象编程(OOP)是一种以对象为核心的编程范式,通过封装、继承、多态和抽象四大特性组织代码。Java 是典型的面向对象语言,其核心思想是将现实世界的事物抽象为程序中的对象。…