사용자가 onclick 함수를 트리거하는 링크를 클릭 할 때마다 1을 더하는 내부 카운터를 설정하려고합니다. 0에서 시작하여 사용자가 링크를 클릭 할 때마다 카운터가 1 (또는 원하는 정수)만큼 증가합니다. 카운터는 새로 고침시 0으로 재설정해야하며 정수 값을 보유하는 변수는 전역 범위에서 선언 할 수 없습니다.JS : 글로벌 범위에서 카운터 변수를 설정하지 않고 증분 카운터?
함수가 실행될 때마다 반복적으로이 선언을하지 않고 변수를 처음 선언하는 방법에 대한 catch22를 계속 실행합니다. 기본적으로 카운터 값을 다시 원래 값으로 설정합니다. 이 같은
// method 1: use a private scope
var click_handler = (function() {
var counter = 0; // this is not in global scope!
return function() {
counter++;
};
})();
// method 2: use a function property
function click_handler() {
click_handler.counter++;
}
click_handler.counter = 0;
왜 변수를 전역 적으로 선언 할 수 없습니까? – MFazio23
당신의 코드를 보여주는 것이 도움이 될 수도 있습니다 ... – qtgye