⊗jsPmDmAHU 363 of 505 menu

JavaScriptにおける匿名関数の解除

ここで、私たちの段落に匿名関数がバインドされているとします:

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

この段落をクリックした後、その段落からこの関数を解除したいとします。 しかし、問題が待ち受けています:関数には名前がないため、 その名前で参照して解除することができません。

この問題を解決するには、関数に名前を付け、 名前付き関数式にする必要があります。 やってみましょう:

let elems = document.querySelectorAll('p'); for (let elem of elems) { elem.addEventListener('click', function func() { // 関数に名前を付けました console.log(this.textContent); }); }

これで、この関数はその内部から自身を解除できるようになります:

let elems = document.querySelectorAll('p'); for (let elem of elems) { elem.addEventListener('click', function func() { console.log(this.textContent); this.removeEventListener('click', func); // 関数を解除します }); }

各項目に数字が書かれたリスト ul があります。 どの li をクリックしても、その数字が1増えるようにしてください。

前の課題を修正して、各 li が最初のクリック時のみ その値を増加させるようにしてください。

前の課題をさらに修正して、各 li の値が 10 未満の場合のみその値を増加させるようにしてください。

日本語
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItalianoქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
当サイトでは、サイトの動作、分析、パーソナライゼーションのためにクッキーを使用しています。 データ処理はプライバシーポリシーに従って行われます。
すべて受け入れる 設定 拒否