>本文在網頁完成加載後,以先前發布的技術來執行JavaScript代碼。 核心代碼利用JavaScript關閉:
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 */ });
閉合將函數捆綁到其周圍的詞彙環境(可訪問變量)。這在JavaScript中特別強大。 考慮此示例:
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)
返回功能。 至關重要的是,返回的函數(閉合)“記住” x
添加3,addThree
添加4,演示了封閉的狀態保存。 addFour
處理程序。如果已經定義了addLoadEvent
,則包裝新功能,確保在頁面加載時依次執行現有和新功能。 這允許將多個調用鏈接為window.onload
,創建在頁面加載上執行的函數的隊列。 window.onload
addLoadEvent
封閉是一種有效的工具,但需要理解。 建議進一步探索(請參閱原始帖子中鏈接的Wikipedia文章)。
>常見問題:
>本節解決了有關JavaScript關閉和頁面加載執行的常見問題,提供了簡潔的答案。 原始的常見問題解答部分被保留,但重新格式化以提高可讀性和簡潔性。 沒有丟失的信息。 問題和答案被解釋以更好地流動並避免冗餘。 >
以上是關閉並在頁面上執行JavaScript的詳細內容。更多資訊請關注PHP中文網其他相關文章!