2011-12-18 59 views
1

可能重複:
What does $(function() {}); do?

究竟是下面的語法是什麼意思?

$(function() {..} 

$(function() { 

    $(".add_folder").click(function() { 

是否就意味着只能定義anonymos功能?或者也執行它?

TIA

+2

它調用'$'函數,參數是一個匿名函數。 – 2011-12-18 21:54:25

+0

http://stackoverflow.com/questions/2114925/what-does-the-jquery-function-in-jquery-do – 2011-12-18 21:57:26

回答

0

我已經鏈接到/關閉相關的問題,即「它做什麼」,至於「如何」這個作品:

expression(...)總是對待的結果表達式作爲函數對象並嘗試調用它。 (如果結果不是函數對象,則出現錯誤。)

function (...) {...} - 在表達式上下文中 - 計算爲匿名函數對象。它從不調用所述函數。

$只是一個「普通標識符」或者在這種情況下的一個表達式。 (很可能$ === jQuery在這個例子中)。

因此,上述在語義上等價(忽略屬性污染)的:

func = $; 
anon_func = function() {...}; 
func(anon_func); 

究竟是什麼func確實與anon_func高達func。在這種情況下,因爲func$jQuery計算爲相同的函數對象,所以該行爲由jQuery(callback)定義。

快樂編碼。

3

這意味着同樣的事情$(document).ready(function() {});

當加載文件時,它調用函數傳遞。我沒有發現$(function() {})表單非常自我記錄,因此我在我的代碼中使用了$(document).ready(function() {});表單,儘管他們做了同樣的事情。

查看jQuery doc僅供參考。

0

第一次執行時,在全局範圍內,另一個是隻有定義。因此,當激發的元素被點擊