function addLoadEvent(func) { var oldonload = window.onload; if (typeof window.onload != 'function') { window.onload = func; } else { window.onload = function() { oldonload(); func(); } } } addLoadEvent(nameOfSomeFunctionToRunOnPageLoad); addLoadEvent(function() { /* more code to run on page load */ });
function createAdder(x) { return function(y) { return y + x; } } addThree = createAdder(3); addFour = createAdder(4); document.write('10 + 3 is ' + addThree(10) + '<br>'); document.write('10 + 4 is ' + addFour(10));
関数を返します。 重要なことに、返された関数(閉鎖)は、その作成コンテキストからの値を「覚えています」。 createAdder(x)
3を追加し、x
4を追加し、閉鎖の状態保存を示します。addThree
addFour
ハンドラーを管理します。 addLoadEvent
が既に定義されている場合、新しい関数がラップされ、既存の関数と新しい関数の両方がページの読み込み時に順次実行されるようにします。 これにより、複数の呼び出しをwindow.onload
にチェーンすることができ、ページの読み込みで実行された関数のキューを作成します。
window.onload
閉鎖は強力なツールですが、理解が必要です。 さらなる調査をお勧めします(元の投稿にリンクされているウィキペディアの記事を参照してください)。
addLoadEvent
このセクションでは、JavaScriptの閉鎖とページロードの実行に関する一般的な質問に対処し、簡潔な回答を提供します。 元のFAQセクションは保持されますが、読みやすさと簡潔さの向上のために再フォーマットされています。 情報は失われていません。 質問と回答は、より良い流れと冗長性を回避するために言い換えられます。
以上がページロードでJavaScriptの閉鎖と実行の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。