JavaScript のクロージャーについて読んだ後でも、クロージャーがどこで使用されているのか理解できません。クロージャがない場合、(可能であれば)どのように交互に実行され、クロージャの使用によって何が簡素化されますか。誰かが JavaScript のいくつかのコード例でこれを説明できれば、役に立ちます。これを説明する記事へのリンクも歓迎します。同様の質問で言及されているこの記事を読みました。このようなコードで説明します
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;
しかし、代わりにこのような関数を簡単に作成できるのに、なぜこのようにするのでしょうか
function sizer(size) {
document.body.style.fontSize = size + 'px';
};
document.getElementById('size-12').onclick = function(){sizer(12)};
document.getElementById('size-14').onclick = function(){sizer(14)};
document.getElementById('size-16').onclick = function(){sizer(16)};