最短的IE判断代码


Posted in Javascript onMarch 13, 2011

Code:
var ie = !+"\v1";
仅仅需要7bytes!参见这篇文章,《32 bytes, ehr ... 9, ehr ... 7!!! to know if your browser is IE》,讲述外国人是如何把IE的判定从32 bytes一步步缩简成7 bytes!的故事
但这纪录今年1月8日被一个俄国人打破了,现在只要6 bytes!它利用了IE与标准浏览器在处理数组的toString方法的差异做成的。对于标准游览器,如果数组里面最后一个字符为逗号,JS引擎会自动剔除它。
Code:

var ie = !-[1,]; 
var ie = !-[1,]; 
alert(ie);

如果从非IE的角度判定,可以省一个比特,因为我们做兼容时,绝大多数情况都是IE与非IE地开工。
Code:
var notIE = -[1,]; 
if(-[1,]){ 
alert("这不是IE浏览器!"); 
}else{ 
alert("这是IE浏览器!"); 
}
Javascript 相关文章推荐
一个挺有意思的Javascript小问题说明
Sep 26 Javascript
防止浏览器记住用户名及密码的简单实用方法
Apr 22 Javascript
使用JavaScript 实现对象 匀速/变速运动的方法
May 08 Javascript
node.js中格式化数字增加千位符的几种方法
Jul 03 Javascript
js控制文本框只能输入中文、英文、数字与指定特殊符号的实现代码
Sep 09 Javascript
在Web项目中引入Jquery插件报错的完美解决方案(图解)
Sep 19 Javascript
Vue2 使用 Echarts 创建图表实例代码
May 18 Javascript
深究AngularJS之ui-router详解
Jun 13 Javascript
QRCode.js:基于JQuery的生成二维码JS库的使用
Jun 23 jQuery
详解vue express启动数据服务
Jul 05 Javascript
JavaScript简单实现合并两个Json对象的方法示例
Oct 16 Javascript
vue+iview 兼容IE11浏览器的实现方法
Jan 07 Javascript
javascript模拟的Ping效果代码 (Web Ping)
Mar 13 #Javascript
js中巧用cssText属性批量操作样式
Mar 13 #Javascript
js中获取事件对象的方法小结
Mar 13 #Javascript
js中关于new Object时传参的一些细节分析
Mar 13 #Javascript
重载toString实现JS HashMap分析
Mar 13 #Javascript
JavaScript获取页面上某个元素的代码
Mar 13 #Javascript
jQuery hover 延时器实现代码
Mar 12 #Javascript
You might like
为PHP5.4开启Zend OPCode缓存
2014/12/26 PHP
php找出指定范围内回文数且平方根也是回文数的方法
2015/03/23 PHP
PHP abstract 抽象类定义与用法示例
2018/05/29 PHP
删除重复数据的算法
2006/11/23 Javascript
jQuery获取URL请求参数的方法
2015/07/18 Javascript
JavaScript 不支持 indexof 该如何解决
2016/03/30 Javascript
基于Bootstrap实现图片轮播效果
2016/05/22 Javascript
使用 NodeJS+Express 开发服务端的简单介绍
2017/04/07 NodeJs
Bootstrap 表单验证formValidation 实现远程验证功能
2017/05/17 Javascript
Webpack优化配置缩小文件搜索范围
2017/12/25 Javascript
详解Vue的钩子函数(路由导航守卫、keep-alive、生命周期钩子)
2018/07/24 Javascript
webpack4打包vue前端多页面项目
2018/09/17 Javascript
浅谈laytpl 模板空值显示null的解决方法及简单的js表达式
2019/09/19 Javascript
[54:05]DOTA2-DPC中国联赛定级赛 SAG vs iG BO3第一场 1月9日
2021/03/11 DOTA
跟老齐学Python之编写类之三子类
2014/10/11 Python
Python使用urllib2模块抓取HTML页面资源的实例分享
2016/05/03 Python
python3设计模式之简单工厂模式
2017/10/17 Python
Opencv-Python图像透视变换cv2.warpPerspective的示例
2019/04/11 Python
Python面向对象程序设计类的封装与继承用法示例
2019/04/12 Python
numpy concatenate数组拼接方法示例介绍
2019/05/27 Python
python脚本开机自启的实现方法
2019/06/28 Python
Python的条件锁与事件共享详解
2019/09/12 Python
Python算法的时间复杂度和空间复杂度(实例解析)
2019/11/19 Python
Django添加bootstrap框架时无法加载静态文件的解决方式
2020/03/27 Python
PyCharm 2020.2 安装详细教程
2020/09/25 Python
css3实现波纹特效、H5实现动态波浪效果
2018/01/31 HTML / CSS
世界最大域名注册商:GoDaddy
2016/07/24 全球购物
猫咪家具:CatsPlay
2018/11/03 全球购物
10的分与合教学反思
2014/04/30 职场文书
小学数学教学经验交流材料
2014/05/22 职场文书
党旗在我心中演讲稿
2014/09/15 职场文书
2014年大堂经理工作总结
2014/11/21 职场文书
党员个人党性分析材料
2014/12/18 职场文书
幼儿园毕业典礼家长致辞
2015/07/29 职场文书
golang正则之命名分组方式
2021/04/25 Golang
Ajax常用封装库——Axios的使用
2021/05/08 Javascript