其实就是利用各浏览器对转义字符"\v"的理解 在ie浏览器中,"\v"没有转义,得到的结果为"v" 而在其他浏览器中"\v"表示一个垂直制表符(一定程度上相当于空格) 所以ie解析的"\v1" 为 "v1" 而其他浏览器解析到 "\v1" 为 "1" 在前面加上一个"+"是为了把后面的字符串转变成数字 由于ie认为"\v1"为"v1",所以前面的加上加号无法转变成数字,为NaN 其他浏览器均能变成 1 再因为js与c语言类似,进行逻辑判断时可使用数字,并且 0 为 false,其他数字则为true 所以 !1 = false ,于是其他浏览器均返回false js在遇到如下几个值会返回false:undefined、null、NaN,所以ie中 !NaN = true
if(!+"\v1"){IE代码}else{其他浏览器代码} 判断浏览器类型
最新推荐文章于 2021-06-05 08:31:26 发布