條件判斷,表達(dá)式優(yōu)先級(jí)
(match = rcomma.exec(soFar))這個(gè)為何每次都能為真?,即使match的值為null。?
groups.push((tokens = []));這個(gè)為何先push tokens原值然后賦新值,難道是因?yàn)楹瘮?shù)表達(dá)式的的優(yōu)先級(jí)高于賦值表達(dá)式,求解答。
(match = rcomma.exec(soFar))這個(gè)為何每次都能為真?,即使match的值為null。?
groups.push((tokens = []));這個(gè)為何先push tokens原值然后賦新值,難道是因?yàn)楹瘮?shù)表達(dá)式的的優(yōu)先級(jí)高于賦值表達(dá)式,求解答。
2018-05-14
舉報(bào)
2019-10-16
第二條我的個(gè)人理解:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? groups.push((tokens = []))的執(zhí)行順序? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 先賦值tokens=[] =>groups.push(tokens)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 因?yàn)閠okens是引用類型所以tokens再獲取值時(shí),groups的值也得到更新
2018-07-06
說(shuō)一下第二條我個(gè)人的理解
可以將gourps.push((tokens = []))拆分為?
tokens= [];
groups.push(tokens);
tokens是接收了一個(gè)的數(shù)據(jù),并將他push到groups,groups的結(jié)構(gòu)就變成groups:[ [] ], 這里面的數(shù)組和tokens的數(shù)組指向的是同一個(gè)內(nèi)存地址, 所以在下面的tokens.push操作中改變了數(shù)組的數(shù)據(jù),對(duì)應(yīng)的之前push到groups的數(shù)組也是改變了的。
表達(dá)的不是很清楚,用一個(gè)簡(jiǎn)單的例子應(yīng)該就明白了,tokens只是保存數(shù)組的內(nèi)存地址。
2018-05-14
喔,1看錯(cuò)了,push沒(méi)理解到,SORRY。求2解說(shuō)。