ანონიმური ფუნქციების გამოკვეთა JavaScript-ში

დავუშვათ, რომ ახლა ჩვენს აბზაცებზე მიბმულია ანონიმური ფუნქცია:

javascriptlet elems = document.querySelectorAll('p');

for (let elem of elems) {
  elem.addEventListener('click', function() {
    console.log(this.textContent);
  });
}

დავუშვათ, გვსურს ამ ფუნქციის მოხსნა აბზაციდან ამ აბზაცზე დაწკაპუნების შემდეგ. თუმცა, ჩვენ პრობლემა გველოდება: ფუნქციას სახელი არ აქვს, რაც იმას ნიშნავს რომ ჩვენ ვერ მივმართავთ მას ამ სახელით, რათა გავაუქმოთ იგი.

პრობლემის მოსაგვარებლად საჭიროა ფუნქციას სახელის მიცემა, გადაქცევა მას დასახელებულ ფუნქციურ გამოსახულებად. გავაკეთოთ ეს:

javascriptlet elems = document.querySelectorAll('p');

for (let elem of elems) {
  elem.addEventListener('click', function func() { // მივეცით ფუნქციას სახელი
    console.log(this.textContent);
  });
}

ახლა ამ ფუნქციის გაუქმება შესაძლებელია თავად მისი შიგნიდან:

javascriptlet elems = document.querySelectorAll('p');

for (let elem of elems) {
  elem.addEventListener('click', function func() {
    console.log(this.textContent);
    this.removeEventListener('click', func); // ვაუქმებთ ფუნქციას
  });
}
Задание 1

მოცემულია სია ul, რომლის თითოეულ ელემენტში ჩაწერილია რიცხვი. გახსენით ისე, რომ დაწკაპუნებაზე ნებისმიერ li-ზე მისი რიცხვი გაიზარდოს ერთით.

Задание 2

შეცვალეთ წინა ამოცანა ისე, რომ თითოეული li გაზარდოს საკუთარი მნიშვნელობა მხოლოდ პირველ დაჭერაზე მასზე.

Задание 3

შეცვალეთ წინა ამოცანა ისე, რომ თითოეული li გაზარდოს საკუთარი მნიშვნელობა მხოლოდ იმ შემთხვევაში თუ მისი მნიშვნელობა ნაკლებია 10-ზე.