закрытие javascript не работает должным образом

увидеть первый код:

 var count = 0;
 (function addLinks() {
   var count = 0;//this count var is increasing

   for (var i = 0, link; i < 5; i++) {
     link = document.createElement("a");
     link.innerHTML = "Link " + i;

     link.onclick = function () {
       count++;
       alert(count);
     };

     document.body.appendChild(link);
   }
 })();

Когда ссылка нажата, переменная counter увеличивается для каждого элемента ссылки. Это ожидаемый результат.

Во-вторых:

var count = 0;
$("p").each(function () {
  var $thisParagraph = $(this);
  var count = 0;//this count var is increasing too.so what is different between them .They both are declared within the scope in which closure was declared

  $thisParagraph.click(function () {
    count++;
    $thisParagraph.find("span").text('clicks: ' + count);
    $thisParagraph.toggleClass("highlight", count % 3 == 0);
  });
});

Здесь функция закрытия работает не так, как ожидалось. При каждом нажатии на элемент абзаца, счетчикvar&nbsp;увеличивается, но это приращение не отображается при нажатии на элементе второго абзаца? Что является причиной этого? Почему это происходит? Переменная count не увеличивается для каждого элемента абзаца.