javascript判断IE浏览器最简单的方法

对于前端工程师来说,IE浏览器肯定是最头疼的,各种兼容,一个事件的添加都不一样,如何快速简单的判断是否是IE浏览器,是一个值得思考的问题,闲来无事,判断下IE。


在IE中数组的处理也是不一样的,

var arr = [1,];

在IE中,这是一个两个元素的数组,第一个元素为1;第二个元素为‘’,即空字符串;这个arr.length自然为2;

而在标准的浏览器,即除IE之外的浏览器中,这是一个包含一个元素的数组,该元素的值为1;


那么,咱们判断是否是IE浏览器就可以在这做文章了:


分别在IE和标准浏览器中运行-arr,运行结果是:

IE中是NaN,因为在IE中是两个元素,arr.toString()的运行结果是‘1,’,然后转为数字的时候,就是个NaN,即运行Number(arr)的结果是NaN;

在标准浏览器中,arr是一个元素,arr.toString()的运行结果是‘1’,转为数字的结果是1,即运行Number(arr)的结果是1;

所以咱们可以根据这个NaN来判断是否是IE浏览器,如何将这个arr转换为数字呢,这就是一个问题了,

正好,正负号可以解决这个问题,运行+arr:

IE:NaN;标准浏览器:1

接下来,已经看到了一点眉目了,

NaN转化为boolean类型是false;而1转化为boolean类型是ture;


判断IE浏览器的方法就是:!+arr;IE下这个运行结果是ture;标准浏览器下运行结果是false,


直接罗代码:

if(!+[1,]){

//do something ie

}else{

//do something 标准浏览器

}





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值