2012-08-26 38 views
2

我知道這可能是一個非常基本的問題,對不起,如果它是,但在JavaScript/jquery我有時會接觸一個函數有一個隨機參數,似乎並沒有明顯的目的,例如就像下面這個在jQuery網站上使用的那樣。javascript中的隨機參數

$("div").mousemove(function(e){ 
     var pageCoords = "(" + e.pageX + ", " + e.pageY + ")"; 
     var clientCoords = "(" + e.clientX + ", " + e.clientY + ")"; 
     $("span:first").text("(e.pageX, e.pageY) : " + pageCoords); 
     $("span:last").text("(e.clientX, e.clientY) : " + clientCoords); 
    }); 

這裏的函數E的參數,我不知道爲什麼,雖然我知道,如果它沒有一封它也可以工作,因爲這就是我傾向於使用的JavaScript。爲什麼程序員會這樣做?

+0

'e'是事件對象。它在這個代碼中被使用。你爲什麼認爲這是隨機的或不必要的? – tenfour

+2

你爲什麼認爲它需要降低投票率? – 11684

+0

@tenfour冷酷的人,乍得很抱歉問了一個非常基本的問題,不需要downvote。 – MaxArt

回答

6

e代表事件對象。在給出的示例中,用戶需要事件對象,以便在使用事件(e)對象的pageXpageY屬性觸發mousemove事件時,他/她可以訪問屏幕上的光標位置。

+0

是否可以提取任何字母或不帶字母的字母? – Chad

+0

是的,JS不在乎什麼,如果你命名它。 @Chad – 11684

+0

是的,你可以使用你喜歡的任何東西,但是使用e,evt或事件使代碼清晰易懂是個好習慣。但是你必須使用一些字母,否則你將無法訪問事件的屬性,如果你不需要這些屬性,那麼你就不需要這個參數。 –

1

它不是隨機的,它總是在那裏。但是如果你不想使用它,你可以把它放開。該參數(在這種情況下是e)是事件。他們使用它來獲取mousemove的座標,這些被存儲在事件對象中並傳遞給函數。事件不是傳遞給此函數的唯一參數,因爲您可以看到here,但其他人很少。