2 回答

TA貢獻(xiàn)2041條經(jīng)驗(yàn) 獲得超4個贊
您確實(shí)可以在ready回調(diào)函數(shù)體內(nèi)定義一個函數(shù)。所以我假設(shè)您只是在訪問您在那里定義的函數(shù)時遇到問題。例如:
$(document).ready(function()
{
function test1()
{
console.log("test1 function was called");
}
function test2()
{
console.log("test2 function was called");
}
test1(); // works
});
test2(); // does not work - Can't access the scope where test2 was defined.
當(dāng) afunction是對象的屬性時,它可以被稱為 a method。ready是一種將函數(shù)作為參數(shù)的方法,該函數(shù)稱為 a callback function,因?yàn)閞eady在 html 文檔完全加載后將“回調(diào)”。
test1和test2(上面)是函數(shù)聲明,它們只能在傳遞給 ready 方法的回調(diào)函數(shù)中訪問:因?yàn)槲襱est2()在該范圍之外調(diào)用,所以它失敗了。
在 javascript 中,“內(nèi)部函數(shù)”(如您所稱)被稱為閉包。單擊以了解有關(guān)詞法范圍的更多信息。

TA貢獻(xiàn)1869條經(jīng)驗(yàn) 獲得超4個贊
ready() 方法用于在加載文檔后使函數(shù)可用。一旦頁面 DOM 準(zhǔn)備好執(zhí)行 JavaScript 代碼,您在 $(document ).ready() 方法中編寫的任何代碼都會運(yùn)行。
添加回答
舉報