看板 Web_Design 關於我們 聯絡資訊
※ 引述《zpl ()》之銘言: : ※ 引述《Adicia (愛迪希亞)》之銘言: : : &&= : : 進行&&運算,並將運算結果指定給左邊的運算式 : : 例如,下面的運算是相同的: : : x&&=y; : : x=x&&y; : : ||= : : 進行||運算,並將運算結果指定給左邊的運算式 : : 例如,下面的運算是相同的 : : x||=y; : : x=x||y; : :               摘自-張亞飛《Javascript +jQuery全能權威指南》 : : 以上的解說和範例完全看不懂@@ : : 我知道&&是and,||是or的意思 : : 它不是比較前後,最後得出的是布林值嗎? : : 它可以進行什麼樣的運算呢?相加之類的嗎? : : 新手學習中... 請多多指點,謝謝~~ : 更正 ||= 與 &&= 是as3才能用 : 一般而言我會在一些狀況下使用這種寫法 : 「 ||= 」比較常用到,通常是在做預設值的時候會用到, : 因為 || 的特性是當判斷到可以是true的情況就回傳 : ex: : var x = 0 || false || 1234 || 5566 ; : 則 x = 1234; 有點舊的文章了,但因為我是新手所以想來請教一下 我有點搞不懂 x=...||... ; 是在做什麼。 google了"javascript ||" 好像"||"會被忽略掉,所以也就不知道該怎麼辦 所以就來這邊請教各位高手。 我想問的是: 為什麼 x = 0 || false || 1234 || 5566 ; 最後得出的會是 x=1234 ? x = 0 || false || 1234 || 5566 ;←翻譯成白話文要怎麼解釋阿? 應該不可能是「把 0或者false或者1234或者5566裡面的其中一個值丟進x裡」吧? 是指「把 0,false,1234,5566當中由左數過來第一個不是0或是false的值丟進x裡」嗎? 因為沒看過這種寫法,所以有點昏... -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.231.6 ※ 文章網址: https://www.ptt.cc/bbs/Web_Design/M.1434389276.A.776.html
iamnodoubt: 因為 || 的特性是當判斷到可以是true的情況就回傳 06/16 01:50
iamnodoubt: 原文不是有講? 06/16 01:50
因為我不太清楚1234也是屬於true? 看來我得再多用功一點了...
mmis1000: || 的意思是,如果左邊的值不是空值(ex:false 0 [] '') 06/16 01:51
mmis1000: 就回傳左邊,否則就右邊 06/16 01:51
mmis1000: 所以 (0) || (false || 1234 || 5566) 06/16 01:52
mmis1000: (false) || (1234 || 5566) 06/16 01:52
mmis1000: (1234) || (5566) 06/16 01:52
mmis1000: 1234 06/16 01:52
tooto1985: 短路邏輯 Short-circuit evaluation 06/16 09:05
※ 編輯: warex14 (140.112.25.106), 06/16/2015 11:04:22
tooto1985: 用兩個驚嘆號可將任何東西轉成布林值 !!1234 !!5566 06/16 22:50