簡體   English   中英

jQuery-使用作為函數參數傳入的匿名函數作為jQuery回調函數

[英]jQuery - Using anonymous function passed in as function parameter as jQuery callback function

這可以通過一個代碼示例得到最好的解釋,因此任何人都可以解釋一下(用術語來說)傳遞給測試的匿名函數為什么在jQuery hide事件之后沒有被調用的原因嗎?

更新:對於本示例而言,這並不是真正重要的,但是為了清楚起見,可以說測試函數在全局范圍內,並且這是一個錨定元素。

test(this, function() {
    alert('Called by anonymous function!');
});

function test(object, callback) {
    $(object).hide('slow', callback);
}

變更:

$(object).hide('slow', callback);

至:

$(object).hide('slow', callback());

作品。 這是因為在當前上下文或全局窗口對象中回調不是命名函數嗎?

您的代碼應該看起來像這樣

test(this, function() {...});

您沒有在代碼中調用匿名函數,但是我不確定該語法實際上是做什么的

看看這個可行的例子http://jsfiddle.net/L4NxD/2

編輯,對小提琴進行更多編輯,以更好地復制原始代碼。 使用http://jsfiddle.net/L4NxD/1 ,只是http://jsfiddle.net/L4NxD/得到早期版本。

這是正確的方法。

http://jsfiddle.net/6dFm6/6/

在隱藏動畫之后調用remove將刪除該對象,並導致不調用動畫回調。

它在jsfiddle.net/6dFm6/1中起作用的原因是,回調在運行時執行,並且在回調事件期間傳遞並調用了該值。

有關“ functionName()”作為回調返回的內容的不同清晰度,請參見這些文章。 調用返回“ undefined”,但執行仍在正確的時間進行。

何時在回調函數名稱后使用()?

在JavaScript中,如果用括號調用函數會有所不同嗎?

回調函數-括號的使用

將命名函數用作jQuery ajax成功回調時需要括號嗎?

javascript語法:函數調用和使用括號

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM