Часть if (window.XMLHttpRequest)
проверяет, можно ли создать объект XMLHttpRequest
, не выдавая ошибку.
Если все идет хорошо, объекту присваивается имя, которое будет использоваться для "разговора с сервером".
Если выдается ошибка, это означает, что у пользователя есть более старый браузер (IE 5 или IE6), поэтому вместо этого он пытается создать ActiveXObject
, который по сути такой же, но работает только для этих старых браузеров.
Вы можете найти больше информации об этом в MDN .