討論區快速選單
知識庫快速選單
程式設計俱樂部Facebook粉絲團 Excel也能做到大數據分析? 政府補助!學嵌入式+物聯網
[ 回上頁 ] [ 討論區發言規則 ]
請問兩個驚嘆號代表什麼?
更改我的閱讀文章字型大小
作者 : tom76kimo(阿憲)
[ 貼文 17 | 人氣 0 | 評價 0 | 評價/貼文 0 | 送出評價 3 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2013/8/13 上午 01:46:08
在看HTML5 Rocks的時候
看到他們工程師寫的一段程式碼


function hasGetUserMedia() {
  return !!(navigator.getUserMedia || navigator.webkitGetUserMedia ||
     navigator.mozGetUserMedia || navigator.msGetUserMedia);
}

請問在return之後 這邊為什麼要用兩個驚嘆號(!!)呢
代表什麼意思

感謝
作者 : sflam(Raymond)討論區板主 Visual C++ .NET卓越專家VC++一代宗師新手入門優秀好手資訊類作業求救頂尖高手C++一代宗師貼文超過4000則
[ 貼文 4945 | 人氣 9172 | 評價 32290 | 評價/貼文 6.53 | 送出評價 142 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人tom76kimo註記此篇回應為很有道理 2013/8/13 上午 05:03:20
>請問在return之後 這邊為什麼要用兩個驚嘆號(!!)呢
>代表什麼意思

! 應該是 negate 運算子, 它把數值轉成 boolean 的 true 或 false.

第一個 ! 把 0 值轉換成 true, 任何非零值都轉成 false:
  !0 ==> true
  !5 ==> false

第二個 ! 把上面轉換後的 boolean 值再度 negate:
  !true ==> false
  !false ==> true

所以:
  !!0 ==> !(!0) ==> !true ==> false
  !!5 ==> !(!5) ==> !false ==> true

也就是說, 在你的式子裡, 如果括號內的結果是 0 值, 就傳回 false. 如果不是 0 值就傳回 true. 相等於:
  return (﹒﹒﹒) != 0;

作者 : yohji(阿泰) C++ Builder卓越專家貼文超過500則
[ 貼文 566 | 人氣 3153 | 評價 3150 | 評價/貼文 5.57 | 送出評價 10 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2013/8/13 下午 04:29:35
請問這樣寫有什麼特別的用意或是優點呢?
作者 : sflam(Raymond)討論區板主 Visual C++ .NET卓越專家VC++一代宗師新手入門優秀好手資訊類作業求救頂尖高手C++一代宗師貼文超過4000則
[ 貼文 4945 | 人氣 9172 | 評價 32290 | 評價/貼文 6.53 | 送出評價 142 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2013/8/14 上午 12:55:01
>請問這樣寫有什麼特別的用意或是優點呢?

http://navirudra.com/blog/javascript/javascript-double-negative-trick.html

http://www.jquery4u.com/javascript/javascript-double-negation-trick-trouble/

作者 : yohji(阿泰) C++ Builder卓越專家貼文超過500則
[ 貼文 566 | 人氣 3153 | 評價 3150 | 評價/貼文 5.57 | 送出評價 10 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2013/8/14 上午 11:38:54
謝謝前輩指導,看起來似乎是說速度上會比較快
作者 : yohji(阿泰) C++ Builder卓越專家貼文超過500則
[ 貼文 566 | 人氣 3153 | 評價 3150 | 評價/貼文 5.57 | 送出評價 10 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2013/8/14 上午 11:39:05
謝謝前輩指導,看起來似乎是說速度上會比較快
作者 : kagaya(kagaya) VC++優秀好手C++優秀好手貼文超過1000則人氣指數超過30000點
[ 貼文 1599 | 人氣 38709 | 評價 4590 | 評價/貼文 2.87 | 送出評價 115 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2013/8/14 上午 11:54:55
不是速度變快
而是確保回傳的值是boolean
作者 : yohji(阿泰) C++ Builder卓越專家貼文超過500則
[ 貼文 566 | 人氣 3153 | 評價 3150 | 評價/貼文 5.57 | 送出評價 10 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2013/8/14 下午 02:42:06
請問前輩,後面的Speed test是在測試什麼呢?
我以為是在比較速度上的差異
作者 : tom76kimo(阿憲)
[ 貼文 17 | 人氣 0 | 評價 0 | 評價/貼文 0 | 送出評價 3 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2013/8/17 下午 01:39:56
後面的部分應該是比較速度沒有錯
 板主 : Clark
 > HTML/DHTML - 討論區
 - 最近熱門問答精華集
 - 全部歷史問答精華集
 - HTML/DHTML - 知識庫
  ■ 全站最新Post列表
  ■ 我的文章收藏
  ■ 我最愛的作者
  ■ 全站文章收藏排行榜
  ■ 全站最愛作者排行榜
  ■  月熱門主題
  ■  季熱門主題
  ■  熱門主題Top 20
  ■  本區Post排行榜
  ■  本區評價排行榜
  ■  全站專家名人榜
  ■  全站Post排行榜
  ■  全站評價排行榜
  ■  全站人氣排行榜
 請輸入關鍵字 
  開始搜尋
 
Top 10
評價排行
HTML/DHTML
1 BK. 220 
2 小P 210 
3 玩家 170 
4 foolface 130 
5 羅蘋 130 
6 阿戊 120 
7 nick 100 
8 EllyChen 80 
9 picard 70 
10 rt-55 70 
HTML/DHTML
  專家等級 評價  
  一代宗師 10000  
  曠世奇才 5000  
  頂尖高手 3000  
  卓越專家 1500  
  優秀好手 750  
Microsoft Internet Explorer 6.0. Screen 1024x768 pixel. High Color (16 bit).
2000-2018 程式設計俱樂部 http://www.programmer-club.com.tw/
0.03125