判断ie版本!!!

判断IE的版本:

//表格兼容IE8
if(ie8Version()){
    $("#purchase_css").css("width","77.8%");
}else{
    $("#purchase_css").css("width","76.1%");
}
//判断ie版本
function ie8Version() {
    var useragent = window.navigator.userAgent.toLowerCase();
    $.browser.msie10 = $.browser.msie && /msie 10\.0/i.test(useragent);
    $.browser.msie9 = $.browser.msie && /msie 9\.0/i.test(useragent);
    $.browser.msie8 = $.browser.msie && /msie 8\.0/i.test(useragent);
    $.browser.msie7 = $.browser.msie && /msie 7\.0/i.test(useragent);
    if($.browser.msie8){
        return true;
    }else{
        return false;
    }
}

判断浏览器是否为IE8:

function ie8Version() {
    var isIE = !!window.ActiveXObject;
    if (isIE) {
        var Sys = {};
        Sys.ie = navigator.userAgent.toLowerCase().match(/msie ([\d.]+)/)[1];
        if (Sys.ie.indexOf("8") > -1) {
            return true;
        }
    }
    return false;
}

 

<think>嗯,用户问的是IE是否支持!==语法。首先,我得回忆一下JavaScript中的运算符。!==是严格不等于运算符,和!=不同,它会检查值和类型是否都不相同。 接下来,我需要确定各个浏览器对它的支持情况。我记得现代浏览器比如Chrome、Firefox、Safari和Edge都是支持ES3及以上标准的,而!==在ES3中就已经存在了。那IE的话,特别是旧版本,比如IE6到IE8,会不会有问题? 查一下资料,确实,IE6到IE8都是支持!==的,因为ES3是1999年发布的,而IE6发布于2001年,理论上应该支持。不过可能会有一些极端情况下的bug,但大部分情况下没问题。用户可能担心的是旧版IE的支持情况,所以需要明确指出具体版本的支持情况。 然后,用户可能在使用某些非常古老的代码库,或者有特定的兼容性需求,这时候需要提醒他们测试不同的IE版本。另外,可能他们遇到了使用!==时的问题,误以为是浏览器不支持,但实际上可能是其他错误,比如变量未定义或者类型转换问题。 最后,应该建议用户如果需要兼容更老的浏览器,比如IE5或更早,可能需要替代方案,但这种情况现在应该非常少见了。同时,推荐使用现代浏览器并考虑代码的健壮性。</think>在JavaScript中,`!==` 是严格不等于运算符,其功能是判断两个值是否**值和类型都不相等**。关于IE浏览器对其支持性的分步解答: --- ### 1. **语法规范支持** `!==` 属于ECMAScript 3(ES3)标准,发布于1999年。所有符合ES3及以上标准的浏览器均支持此运算符。 --- ### 2. **IE浏览器具体版本支持** - **IE6~IE11**:均支持 `!==` 运算符 - **极端情况**:IE6~IE8在某些边缘场景下可能存在类型判断的微小差异(例如涉及`NaN`或对象比较时),但运算符本身是支持的 --- ### 3. **验证方法** 可通过以下代码在IE浏览器中测试: ```javascript console.log(5 !== "5"); // 严格不等,输出 true(数值5 vs 字符串"5") console.log(5 !== 5); // 严格等,输出 false ``` --- ### 4. **常见误区** - **与 `!=` 的区别**:`!=` 是宽松不等于运算符(仅比较值,会隐式转换类型),而 `!==` 要求值和类型都不同 ```javascript console.log(5 != "5"); // false(值相等) console.log(5 !== "5"); // true(类型不同) ``` - **兼容性问题**:实际开发中遇到的“不生效”可能是其他代码错误(如变量未定义),而非运算符本身的问题 --- ### 5. **兼容性建议** - 如果需兼容上古浏览器(如IE5及更早版本),需使用替代方案: ```javascript if (!(a === b)) { ... } // 等效于 a !== b ``` - 现代开发中无需担心此问题,建议通过工具(如Babel)处理更复杂的兼容需求 --- ### 总结 IE全系列(包括已淘汰的旧版本)均支持 `!==` 运算符,可安全使用。若遇到异常表现,应优先检查代码逻辑或数据类型问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值