我正在尝试编写自己的 Xhr 包装器作为练习。我正在跨浏览器工作,我遇到了这段代码,它为所有浏览器 IE5.5+ 启动一个 xhr 对象
但我个人并不真正理解现在如何使用这个实例化的 xhr 对象。
请参阅下面的代码:
(function () {
try {
return new(this.XMLHttpRequest || ActiveXObject)('MSXML2.XMLHTTP.3.0');
} catch (e) {}
})();
有人可以向我解释如何使用实例化的 xhr 对象吗?
也许对于我自己的学习经验来说,这个 (function (){})();
是如何工作的
如果有不清楚的地方请告诉我,以便我进行澄清!
最佳答案
你的表达式是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
内容。
关于javascript - javascript如何获取函数的返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56501399/