Я (пере) обучения Ajax с сайта Mozilla на https://developer.mozilla.org/en/AJAX/Getting_Started, и я столкнулся с этим сегментом кода:Что (функция() означает в данном сегменте кода
(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. )();
While Мне удалось понять код и заставить его работать, но только после того, как я отключил функцию «(function() {» наверху и все конечные фигурные скобки в конце этого сегмента кода. Дело в том, что я не понимаю цель "(функция {", и, похоже, она не является FF (она не распознает этот сегмент как Javascript до тех пор, пока я не удалил "(function {" parts. Кто-нибудь знает цель этого сегмента кода? знал, что я видел его где-то еще, и на этот раз я хочу точно знать, что это значит.
Заранее за вашу помощь.
Ты одна скобка Короче говоря, не так ли? Стоит отметить, что начальная открывающая скобка и ее закрывающая пара могут быть опущены, но служат как соглашение (как визуальный индикатор), что эта функция будет немедленно вызвана. Они не требуются. Тем не менее, '();' в конце определенно требуется для вызова. –
@ JordanArsenault да - я пропустил один - спасибо! – Alnitak
Большое спасибо, ребята. Ваши комбинированные комментарии помогли мне понять это полностью. Cheers. :) – anthonytwp