性能優(yōu)化方面的問題?
?var cnt = 0
? ? for( var i = 0 ; i < balls.length ; i ++ )
? ? ? ? if( balls[i].x + RADIUS > 0 && balls[i].x -RADIUS < WINDOW_WIDTH )
? ? ? ? ? ? balls[cnt++] = balls[i]
為什么cnt要從0開始啊?
這樣當有滿足條件的第一個元素進來的時候,balls數(shù)組的下標不是會從1開始了嗎??
?var cnt = 0
? ? for( var i = 0 ; i < balls.length ; i ++ )
? ? ? ? if( balls[i].x + RADIUS > 0 && balls[i].x -RADIUS < WINDOW_WIDTH )
? ? ? ? ? ? balls[cnt++] = balls[i]
為什么cnt要從0開始啊?
這樣當有滿足條件的第一個元素進來的時候,balls數(shù)組的下標不是會從1開始了嗎??
2016-07-30
舉報
2016-10-04
cnt 不從 0 開始,從哪開始。第一個元素進來的時候,ball[cnt++]代表的ball[0],cnt++先使用再加一,意味著在執(zhí)行完?balls[cnt++] = balls[i] 后,cnt = 1,你也可以寫成 balls[cnt] = balls[i] ; cnt++; 其實是一個意思。而且后面比較的是 cnt 與 balls的長度,數(shù)組長度是從1開始的,這樣才能比較。。我說的也挺亂的,反正挺容易理解的一個問題。