js实现计数
使用变量计数
在JavaScript中,可以通过声明一个变量并对其进行递增或递减操作来实现计数功能。例如:
let count = 0;
count++; // 递增
console.log(count); // 输出: 1
count--; // 递减
console.log(count); // 输出: 0
使用闭包实现计数器
闭包可以创建一个私有计数器,避免全局变量污染:
function createCounter() {
let count = 0;
return function() {
count++;
return count;
};
}
const counter = createCounter();
console.log(counter()); // 输出: 1
console.log(counter()); // 输出: 2
利用对象属性计数
通过对象属性存储计数值,适合需要多个计数器的情况:

const counterObj = {
count: 0,
increment() {
this.count++;
},
decrement() {
this.count--;
}
};
counterObj.increment();
console.log(counterObj.count); // 输出: 1
使用类实现计数器
ES6类语法可以封装计数器逻辑,便于复用:
class Counter {
constructor() {
this.value = 0;
}
increment() {
this.value++;
}
getValue() {
return this.value;
}
}
const myCounter = new Counter();
myCounter.increment();
console.log(myCounter.getValue()); // 输出: 1
数组长度作为计数器
在某些场景下,可以利用数组的push/pop方法间接实现计数:

const items = [];
items.push('item1');
console.log(items.length); // 输出: 1
items.pop();
console.log(items.length); // 输出: 0
事件触发计数
为DOM元素添加事件监听器时,可通过计数器记录触发次数:
const button = document.querySelector('button');
let clicks = 0;
button.addEventListener('click', () => {
clicks++;
console.log(`点击次数: ${clicks}`);
});
使用Map/Set计数唯一值
需要统计唯一值出现次数时,Map数据结构非常高效:
const wordCount = new Map();
function countWord(word) {
const currentCount = wordCount.get(word) || 0;
wordCount.set(word, currentCount + 1);
}
countWord('hello');
countWord('world');
countWord('hello');
console.log(wordCount.get('hello')); // 输出: 2






