if (! +"\v1") 判断 IE与W3C

if (! +"\v1")

判断是否为IE浏览器。

疑惑了好久,为什么这句能判断IE浏览器。

网上找的答案:

IE里不能把 "\v" 处理成垂直符,所以在IE里它就是表示"\v"这个字符串。

所以"\v1"为字符串。
前面的+号把后面的字符串转换成数字,由于"\v1"在IE里为字符串
所以 +"\v1" 转换失败,其值为NaN
所以 !+"\v1"的值为 true
所以在IE里 if(!+"\v1")

 

其他判断是否为浏览器的方法:

if ("\v" == "v")
alert("这是IE浏览器!");

if (! -"\v1")
alert("这是IE浏览器!");

if (! -[1, ])
alert("这是IE浏览器!");

if (! +[1, ])
alert("这是IE浏览器!");

if ((0/*@cc_on + 1@*/) == 1)
alert("这是IE浏览器!");

if (document.all)
alert("这是IE浏览器!");

转自:http://www.cnblogs.com/firstdream/archive/2012/03/21/2410310.html

感谢

作者:达奇
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
原文地址:https://www.cnblogs.com/dachie/p/2670396.html