새 Scope를 만들기 위해 함수를 생성할 때 흔히 사용하는 자바스크립트 패턴 예

(function() {
  var clickCount = 0;
  $('button#mybutton').click(function () {
    clickCount ++;
    alert('Clicked ' + clickCount + ' times.');
  });
}());

자바스크립트에서 함수는 단독으로 실행되는 방식이 아니라 자신이 선언된 컨텍스트를 기억하는 방식을 통해 실행되며, 이를 통해 현재 컨텍스트 또는 부모 컨텍스트에 있는 어떤 변수에도 접근할 수 있다.
콜백 함수를 인자로 넘겨주면 이 함수는 나중에 실행되지만, 자신 또는 부모 스코프에 있는 변수에 접근할 수 있다.