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