Je suis en train d'apprendre (de nouveau) Ajax sur le site de Mozilla sur https://developer.mozilla.org/en/AJAX/Getting_Started, et je suis confronté à ce segment de code :
(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. )();
Même si j'ai réussi à comprendre le code et à le faire fonctionner, ce n'est qu'après avoir enlevé la partie "(function() {" en haut et toutes les accolades à la fin de ce segment de code. Le problème est que je ne comprends pas l'utilité de "(function{", et il semble que Firefox non plus. (Il ne reconnaît pas ce segment comme du Javascript tant que je n'ai pas enlevé les portions "(function{". Est-ce que quelqu'un sait à quoi sert ce morceau de code? Je suis sûr de l'avoir vu quelque part aussi, et cette fois-ci je veux savoir exactement ce que cela signifie.
Merci d'avance pour votre aide.