if (! +"\v1")的解释

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浏览器!");

posted @ 2012-03-21 17:58  有梦就能实现  阅读(1497)  评论(0编辑  收藏  举报