看板 Web_Design 關於我們 聯絡資訊
※ 引述《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; 舉例用法1(設定預設值): function foo(xx,yy,zz){ yy ||= "預設值1"; zz ||= "預設值2"; ... } foo(123); 這種用法要注意輸入的 yy,zz 不會是 false 之類的值, 所以「 x ||= 123; 」也可以看成 「 if(!x) x=123; else x = x; 」 舉例用法2(條件式處理): var a,b,c=4; function foo(){b=2; return 5;} a = b || foo() || c; 則 a = 5, b = 2 , c = 4 同義於 if(b) a = b; else { a = foo(); if(!a) a = c; } 至於 「 &&= 」就比較少用到了,通常是用來記錄邏輯flag狀態 而 && 特性為 || 的相反,為執行到可以是false狀態就回傳 ex: var a,b,c=4; function foo(){b=2; return 5;} a = (b=1) && foo() && c && 0 && 123; 則 a=0,b=2,c=4 舉例用法? var flag = true; 處理邏輯A... flag &&= A; 處理邏輯B... flag &&= B; return flag; 通常是沒有這樣寫,除非是想省幾個變數宣告吧 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.27.57.85 ※ 編輯: zpl 來自: 114.27.57.85 (10/10 21:52)
akiratw:JavaScript 沒有 &&= ||= 這種寫法吧,要也是 &= 和 |= 10/10 21:52
&= 與 |= 是位元邏輯 執行結果與意義都不同 ※ 編輯: zpl 來自: 114.27.57.85 (10/10 22:01)
superpai:真的嗎?我剛剛看到SyntaxError: Unexpected token = 10/10 22:05
akiratw:可是我試了 Firefox 和 Chrome 都是 SyntaxError 10/10 22:06
LaPass:到底是哪個版本的JavaScript?之前我在書上說有foreach,結 10/10 22:09
LaPass:果也是不能用.... 10/10 22:09
好像搞錯了 ||= 與 &&= 是as3才能用... ※ 編輯: zpl 來自: 114.27.57.85 (10/10 22:15)
akiratw:AArray.forEach() 不是 JavaScript 1.6 開始就有了嗎,還 10/10 22:17
akiratw:是樓上說的是別的 foreach 10/10 22:17