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