2013-09-29 64 views

回答

0
xmlHttp.onreadystatechange = handleServerResponse; 
function handleServerResponse() { 
    ... 
} 

相同:

xmlHttp.onreadystatechange = function() { 
    ... 
} 

在這種情況下,onreadystatechange預計要被設置爲一個函數定義。


爲了演示使用,你可以在這裏使用括號,這裏有一個例子:

xmlHttp.onreadystatechange = generateServerResponseHandler(); 
function generateServerResponseHandler() { 
    return function() { 
     ... 
    }; 
} 

你可以看到這個函數generateServerResponseHandler立即調用,但onreadystatechange仍設置爲一個函數的定義。


在JavaScript中,函數是「一等公民」。維基百科有一個很好的寫法:http://en.m.wikipedia.org/wiki/First-class_function

+0

xmlHttp.onreadystatechange = handleServerResponse;意味着onreadystatechange存儲函數handleServerResponse? –

+0

是的,它像一個指向該函數的指針。在JavaScript中,函數是「一等公民」。維基百科有一個很好的寫法:http://en.m.wikipedia.org/wiki/First-class_function –

相關問題