次のような js コードがあります。
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; document.getElementById('size-16').onclick = size16;
最初の質問は 2 つあります。この余分な変数を使用する利点は何ですか。
var size12 = makeSizer(12);
var size14 = makeSizer(14);
var size16 = makeSizer(16);
あなたがただ書くことができるとき
document.getElementById('size-12').onclick = makeSizer(12)
2 つ目は、なぜ関数を次のように書くのかということです。
function makeSizer(size) { document.body.style.fontSize = size + 'px'; }
すべてが機能しなくなります。これは重複していて、閉鎖に関するいくつかの投稿があることは知っていますが、役に立ちません