/*
*/
function ajax() {
this.xmlhttp;
try {
this.xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
this.xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
this.xmlhttp = false;
}
}
if (!this.xmlhttp && typeof XMLHttpRequest!='undefined') {
this.xmlhttp = new XMLHttpRequest();
}
}
ajax.prototype.send = function() {
var x = this.xmlhttp;
x.open('GET', 'ajax.php', true);
x.onreadystatechange = function() {
if(x.readyState == 4) {
if(x.status == 200) {
alert(x.responseText);
}
}
};
x.send(null);
}
Как я понимаю - это верное решение?
Но просто я так и не понял, почему он не видит переменную xmlhttp из внутренней функции?
Если говорить просто, то замыкание - это внутренняя функция. Ведь javascript разрешает создавать функции по ходу выполнения скрипта. И эти функции имеют доступ к переменным внешней функции. (c) javascript.ru
Объясните пожалуйста.