Head First Ajax では、次の例が挙げられます。
function getDetails(itemName) {
request = createRequest();
if (request == null) {
alert("Unable to create request");
return;
}
var url= "getDetails.php?ImageID=" + escape(itemName);
request.open("GET", url, true);
request.onreadystatechange = displayDetails;//This references the function below
request.send(null);
}
function displayDetails() {
if (request.readyState == 4) {
if (request.status == 200) {
detailDiv = document.getElementById("description");
detailDiv.innerHTML = request.responseText;
}
}
}
どんな施工なのか気になりrequest.onreadystatechange = displayDetails;
ます。この本は、「これは関数呼び出しではなく、関数への参照です」と述べています。しかし、私はこれが本当に何を意味するのか理解していません。displayDetails
関数を objectに割り当てると思いますrequest.onreadystatechange
が、この構造を使用する理由やタイミングがわかりません。
たとえば、次のようなことを行うのではなく、この構造を使用する利点は何ですか。
request.onreadystatechange = function () {
if (request.readyState == 4) {
if (request.status == 200) {
detailDiv = document.getElementById("description");
detailDiv.innerHTML = request.responseText;
}
}
}
また、それは関数型言語機能の例ですか?