|
if通常是不需要“跳出”的。' v B( ]+ w9 V( } {8 k1 \9 {
! n B" o$ w* n% E: Z Y假设我们有一个能跳出if的语句叫breakif, c& z+ w+ I, a. A- m. O1 f
那么如果你的程序像下面这种形式) d P5 s8 v e/ t& Q9 k' Y
if a
' C. {$ K( I+ W0 G* V! y! d8 T E G statement 1;
% e+ C4 t& b/ c- d1 L breakif;" f3 i$ N& W {
statement 2; $ U8 e2 Z5 c8 _: x
else b. y4 m/ k/ Z/ ]! ~/ v* c
end
, L" q$ r8 g) @8 @$ ^' x那么statement2在这里就是没有意义的,因为永远执行不到。: s [+ r$ P7 \7 \0 i
- F$ L4 Y: a* M& h: L& c
而你如果删掉statement2,写成" q; h& l9 \: K1 o$ B/ [6 T
if a& }( d3 q7 a8 @7 J, u; X0 M
statement 1;
- Q' M; n7 c8 E2 V( A8 p# ]+ [ breakif; 5 E$ J7 n$ q& X. J5 T3 L
else b
; B2 G- W- l K& V, _$ ~end- O/ C- ?2 `' I0 [: j8 O g% h
那么breakif就是多余的,因为执行完statement1时,本来就已经退出了if。
3 T$ @7 p! ~! o% s, f- d( `
; ~1 J) V+ O k; ~2 J. K, J! v所以,如果你发现自己需要使用这个breakif语句,那么首先应该考虑一下自己的程序的结构是不是可以改进一下。
( g: x Q6 z) w9 |
2 S0 G' y3 ~* i5 L0 C另外,break的作用是结束(或称为“跳出”)“当前层循环”,使得下一条被执行的语句是该循环之后的第一条语句。8楼上提到的“大循环”这个词估计指的是相同的意思,但是在多层循环的情况,这个词可能会让人误解为“最外层循环”(最大的循环)。 |
|