$(document).ready(function() {
$('.poem-stanza').addClass('highlight');
});
碼2
$(document).ready(
$('.poem-stanza').addClass('highlight');
);
$(document).ready(function() {
$('.poem-stanza').addClass('highlight');
});
碼2
$(document).ready(
$('.poem-stanza').addClass('highlight');
);
你讀你所撥叫(在這種情況下,ready
方法),看看它期望什麼樣的價值的方法的文檔。
如果它期望一個函數,請使用第一個示例。
如果它期望一個jQuery *對象,請使用第二個示例(因爲addClass方法的返回值是一個jQuery對象)。我認爲你使用的是jQuery,因爲我認爲它是唯一具有類似功能的庫。我可能錯了,$ is a stupid name for a function。
如果該函數接受一個函數作爲參數,代碼2將無法正常工作,因爲
$('.poem-stanza').addClass('highlight');
不是函數的定義(這是一個語句)
創建表示函數的對象,以下語法之一應使用:
function myFunc() {
}
或
var myFunc = function() {
}
或
var myFunc = new Function("...javascript code...");
上述定義中的一個之後,myFunc的將持有表示的功能的對象。
嘿,這就是它是:d
沒有,嚴重的是,當你需要做的準備裏面的東西();或類似的方法,你使用一個。功能。其他方法接受參數。 Google文檔會爲您提供詳細信息。
就像其他人說的,你必須查看文檔來查看該函數接受的參數類型。然而,這裏的重要部分是:如果你有一個語句,當解釋器碰到它時它就會執行。如果您定義了一個函數並將其傳遞給就緒函數,就緒函數將決定何時執行該函數。在這種情況下,當文件準備就緒時。另一個例子是setTimeout,它需要一個函數和毫秒數作爲參數。
規則是這樣的:當你想傳遞一些代碼給其他某個函數時,你必須把它包裝在一個函數中。如果你使用(unwrapped)語句,它將被執行並且結果被傳遞給函數。
如果您需要回調函數,請使用函數關鍵字。當你使用像ready
和click
這樣的方法時,你不想讓代碼在你設置事件時運行,但是當事件發生時,所以你需要一個回調函數。
使用匿名函數就像使用前面定義的命名函數一樣。在這樣的例子中,更容易遵循發生的事情:
function onReady() {
$('.poem-stanza').addClass('highlight');
}
$(document).ready(onReady);
大聲笑,$的東西有點迂腐。 – xenon 2009-07-11 11:27:56