JavaScript中一个奇葩的IE浏览器判断方法
2023-06-13 09:15:25 时间
记得在网上Down的很多源码用的最多的一种方式就是:
复制代码代码如下:
这是因为IE浏览器的document下有all方法,而所谓的标准浏览器却没有,所以很长的一段时间,这个是一种非常普遍的方法。
在之后大家开始追求起简短,就像在这之后一度流行的一种方法:
这个是利用IE不支持垂直制表符的特性而判别的,仅仅7个字符已经很让人震惊了,可是这个记录被一个俄国人在今年早些的时候打破了,人家只需要6个字符就可以搞定了。
我们暂且不讨论这一个字符能够做什么,但把它看作是一种研究,或者你说他是闲的那啥痛也行(吐槽~)。
其实它的原理很简单,[1,]在标准浏览器会返回字符串"1",相当于调用[1,].toString,IE则返回"1,"。但是这样IE与标准都会通过检测,因此使用负号强制转换为数字,标准能成功转换为1,1会在if中自动转换为true,而IE则转换为NaN,再自动转换为false!查看DEMO。
很简单对吧?肯定会有很多人跟我一样在想,我怎么就没想到呢?是啊,我怎么就没想到呢?(笑~)
相关文章
- js高级技巧_JavaScript高级程序
- JavaScript高级(10)
- 【说站】JavaScript创建Object实例的方法
- JavaScript——DOM事件高级
- JavaScript高级编程:函数Hook与反Hook
- javascript拖拽精灵放大缩小旋转的方法详解编程语言
- Javascript更新JavaScript数组的uniq方法
- Javascript的一种模块模式
- 开发跨浏览器javascript常见注意事项
- JavaScript文本框下拉提示(自动提示)
- Javascript读取cookie函数代码
- javascript定义函数的方法
- javascript常用方法、属性集合及NodeList和HTMLCollection的浏览器差异
- Javascript异步加载详解(浏览器在javascript的加载方式)
- javascript三种方法实现获得和设置以及移除元素属性
- javascript按位非运算符的使用方法
- JavaScript控制各种浏览器全屏模式的方法、属性和事件介绍
- JavaScript函数的4种调用方法详解
- javascript获取隐藏元素(display:none)的高度和宽度的方法
- javascript数组遍历for与forin区别详解
- javascript获取元素偏移量的方法有哪些
- JavaScript中遍历对象的property的3种方法介绍
- javascript正则表达式使用replace()替换手机号的方法
- javascript实现在某个元素上阻止鼠标右键事件的方法和实例
- javascript实现浏览器窗口传递参数的方法
- 用javascript关闭本窗口不弹出询问框的方法