Ich bin (wieder) auf https://developer.mozilla.org/en/AJAX/Getting_Started Ajax von der Mozilla-Website zu lernen, und ich bin mit diesem Codesegment konfrontiert:Was bedeutet (function() bedeutet in diesem speziellen Code-Segment
(function() {
var httpRequest;
document.getElementById("ajaxButton").onclick = function() {
makeRequest('test.html');
};
function makeRequest(url) {
if (window.XMLHttpRequest) { // Mozilla, Safari, ...
httpRequest = new XMLHttpRequest();
} else if (window.ActiveXObject) { // IE
try {
httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!httpRequest) {
alert('Giving up :(Cannot create an XMLHTTP instance');
return false;
}
httpRequest.onreadystatechange = alertContents;
httpRequest.open('GET', url);
httpRequest.send();
}
function alertContents() {
if (httpRequest.readyState === 4) {
if (httpRequest.status === 200) {
alert(httpRequest.responseText);
} else {
alert('There was a problem with the request.');
}
}
}
} //missing closing bracket added by bwalton 5/11/11. )();
Während Ich habe es verstanden, den Code zu verstehen und es zum Laufen zu bringen, bis ich den "(function() {" - Teil oben und alle End-Klammern am Ende dieses Codesegments entfernt habe. Das Ding verstehe ich nicht Der Zweck von "(Funktion {", und es scheint auch nicht FF. (Es erkennt dieses Segment nicht als Javascript, bis ich die "(Funktion {" Teile) abgestreift. Kennt jemand den Zweck dieses Segments des Codes? Ich wusste, dass ich es auch irgendwo gesehen habe und dieses Mal möchte ich genau wissen, was es bedeutet.
Vielen Dank im Voraus für Ihre Hilfe. Diese
Du bist eine Klammer kurz gesagt, bist du nicht? Es ist erwähnenswert, dass die erste öffnende Klammer und ihr schließendes Paar weggelassen werden können, aber als Konvention (als visueller Indikator) dienen, dass diese Funktion sofort aufgerufen wird. Sie sind nicht erforderlich. Jedoch ist das '();' am Ende definitiv für den Aufruf erforderlich. –
@JordanArsault ja - ich habe eins verpasst - danke! – Alnitak
Vielen Dank, Leute. Ihre kombinierten Kommentare haben mir geholfen, es vollständig zu verstehen. Prost. :) – anthonytwp