function hasGetUserMedia() {
// Note: Opera is unprefixed.
return !!(navigator.getUserMedia || navigator.webkitGetUserMedia ||
navigator.mozGetUserMedia || navigator.msGetUserMedia);
}
轉貼自 http://www.html5rocks.com/en/tutorials/getusermedia/intro/其中的return 使用了兩個驚嘆號(!!) 這是什麼意思呢?
目的:
兩個!!的功用主要是將值轉為true跟false,也就是說,這個函式回傳的,只會有true跟false。
在Javascript當中,有些值跟false是等價的:
- false
- Null
- undefined
- 空字串(ex. "" or \'')
- 數字0
- 數字Nan
第一個!的功用就是將以上的值轉為true,其他的值轉為false
第二的!再將true轉為false,false轉為true,也就是轉回來
確保回傳的值是boolean。
使用上會比Boolean()還要簡單,速度也比較快
如果要知道速度的數據,可以參考底下連結
refs from http://www.jquery4u.com/javascript/javascript-double-negation-trick-trouble
您好,想請問一下,您說的「使用上會比Boolean()還要簡單,速度也比較快」,可否知道原因使它比較快??
回覆刪除