我在 中看到如此判斷是否是ie,if(!+"\v1")else,請問這個條件判斷的意義是什麼?我在ie8中測試是true,在firefox/chrome/opera中測試是false.能解釋下這個短語瀏覽器是如何解釋的呢?
最佳答案
其實就是利用各瀏覽器對轉義字元"\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
判斷瀏覽器型別
1 2 描述 判斷瀏覽器型別 3 編寫 littleqiang w 4 日期 2016.1.5 5 版本 v1.1 6 78 判斷當前瀏覽型別 9function browsertype else if fieversion 8 else if fieversion 9 else if fiever...
判斷瀏覽器型別
var browser useragent window.n igator.useragent.tolowercase if msie firefox opera chrome netscape d d d.test useragent else if version d d d.safari te...
js判斷瀏覽器型別
現實情況時,有時需要根據瀏覽器型別,進行一些css之類的不同處理。第一種,只區分瀏覽器,不考慮版本 複製 如下 function mybrowser 判斷是否opera瀏覽器 if useragent.indexof firefox 1 判斷是否firefox瀏覽器 if useragent.ind...