我已經看到了這個模式所有的地方,但我不知道它做什麼:這是一個JavaScript計數器嗎?
x.memb = x.memb ? x.memb + 1 : 1;
我認爲這是一個計數器,但我不那麼肯定。有人可以解釋這是什麼和邏輯?
我已經看到了這個模式所有的地方,但我不知道它做什麼:這是一個JavaScript計數器嗎?
x.memb = x.memb ? x.memb + 1 : 1;
我認爲這是一個計數器,但我不那麼肯定。有人可以解釋這是什麼和邏輯?
如果x.memb
已被定義,而不是0
,那麼它會增加它。在其他情況下,它將其值設爲1
。
這基本上只是一個增量照顧的情況下x.memb
未定義。
你還可以這樣寫它作爲
x.memb = (x.memb||0) +1;
爲value||defaultValue
是在JavaScript中常用的結構,這可能是更地道。
謝謝!說得通。 –
這是一個三元操作者做一些計數。
它在本質上在做這個
if(x.memb)
x.memb = xmemb + 1; //increment it
else
xmemb = 1; //start it off
這只是簡寫。如果?
前的事是真的,它將返回無論是:
之前,如果它是假的,它將返回無論是:
注意,這是對各種有無關叉的一個非常方便的機制後,數數。這只是在這種情況下使用的方式。
「三元運算符」谷歌它。 – PeeHaa
如果'x.memb'返回'true',則增加它,否則將其設置爲1. – Jashwant
它只是一個語法糖http://en.wikipedia.org/wiki/Syntactic_sugar – bernabas