Как получить возвращаемое значение функции javascript - PullRequest
0 голосов
/ 08 июня 2019

Я пытаюсь написать свою собственную Xhr-оболочку на практике. Я нахожусь в процессе заставить вещи работать через браузер Я наткнулся на этот кусок кода, который инициирует объект xhr для всех браузеров IE5.5 +

Но я лично не очень понимаю, как теперь использовать этот экземплярный объект xhr.

См. Код ниже:

(function () {
    try {
        return new(this.XMLHttpRequest || ActiveXObject)('MSXML2.XMLHTTP.3.0');
    } catch (e) {}
})();

Может ли кто-нибудь объяснить мне, как использовать экземплярный объект xhr?
И, возможно, для моего собственного опыта обучения, как эта (function (){})(); вещь работает

Если что-то неясно, дайте мне знать, чтобы я мог уточнить!

1 Ответ

2 голосов
/ 08 июня 2019

Ваше выражение - IIFE - вы определяете функцию и сразу вызываете ее.Поскольку вы ничего не присваиваете результат, он теряется.Так что либо делайте

var req = (function () {
    try {
        return new(this.XMLHttpRequest || ActiveXObject)('MSXML2.XMLHTTP.3.0');
    } catch (e) {}
})();

или (более читабельно)

function getRequest() {
    try {
        return new(this.XMLHttpRequest || ActiveXObject)('MSXML2.XMLHTTP.3.0');
    } catch (e) {}
}

var req = getRequest()

Не уверен насчет всего этого ActiveXObject материала.

...