众所周知,IE有个activeXObject对象,来实现浏览器对本地文件的读写; 而其他的浏览器都是使用的XMLHttpRequest对象.
今天想到了利用IE独有的activeXObject对象来判断是否为IE浏览器,在网上搜到了如下代码
function isIE() {
if (!!window.ActiveXObject || "ActiveXObject" in window)
return true;
else
return false;
}
但是关于这段代码, 我想知道为什么window.ActiveXObject前面要加两个!!,有什么具体讲究吗?
然后为什么要这样判断? "activeXObject" in window 和 window.activeXObject不是一样吗
2个!!是为转成布尔变量,加不加无所谓。
"ActiveXObject" in window是为了兼容IE11,IE11不支持window.ActiveXObject,会提示undefined