私は Javascript のクロージャについてもっと調べようとしていますが、これを経験していました: https://developer.mozilla.org/en/JavaScript/Guide/Closures#Practical_closures
この記事によると、このような関数を使用することにより:
function makeSizer(size) {
return function() {
document.body.style.fontSize = size + 'px';
};
}
var size12 = makeSizer(12);
var size14 = makeSizer(14);
var size16 = makeSizer(16);
次に、そのようなステートメントを利用して、ページ上のテキストのフォントサイズを増減できます。
document.getElementById('size-12').onclick = size12;
document.getElementById('size-14').onclick = size14;
document.getElementById('size-16').onclick = size16;
size12、size14、size16 が内部関数へのアクセスを許可するクロージャーになるという概念は理解できますが、これは不要だと感じずにはいられません。持っている方が簡単ではありませんか:
function makeSizer(size) {
document.body.style.fontSize = size + 'px';
}
、そしてこれらでそれを呼び出しますか?
document.getElementById('size-12').onclick = makeSizer(12);
document.getElementById('size-14').onclick = makeSizer(14);
document.getElementById('size-16').onclick = makeSizer(16);
私の考えが正しいかどうか誰かに教えてもらえますか-または、私はJavascriptの初心者で、このシナリオでクロージャーを使用する利点を理解していない可能性があります。その場合、利点を説明できれば幸いですそうする。
よろしくお願いします。