if (! +"\v1") 解释

if (! +"\v1") 为什么能判断是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 @ 2018-04-19 10:56  笑耗子ok  阅读(72)  评论(0)    收藏  举报