说明:引用此文请注明出处,并务请保留后面的有效链接地址,谢谢!<br>三者可表示“当……时候”,区别如下:<br>(1)若主句表示的是一个短暂性动作,从句表示的是一个持续性动作,三者都可用:<br>He fell asleep when [while, as] he was reading.他看书时睡着了。<br>【注】as用于引出一个持续性动词表示“在……期间”时,其谓语通常只能是那些含有动作(action)和发展(development)意味的动词,一般不能是那些不用于进行时态的动词(如be, seem, love, want, agree, see, know, have等),所以下面一句中的while不能换为as:<br>A:I’m going to the post office.我要去邮局。<br>B:While you’re there, can you get me some stamps?当你在邮局时,能帮我买几张邮票吗?<br>(2)若主、从句表示两个同时进行的持续性动作,且强调主句表示的动作延续到从句所指的整个时间,通常要用while:<br>Don’t talk while you’re eating.吃饭时不要说话。<br>I kept silent while he was writing.在他写的时候,我默不作声。<br>但是,若主从句表示的两个同时进行的动作含有“一边…一边”之意思,通常用as:<br>She sang as she went along.她边走边唱。<br>(3)若从句是一个短暂性动作,主句是一个持续性动作,可用as / when但不用while:<br>It was raining hard when [as] we arrived.我们到达时正下着大雨。<br>(4)若主从句表示的是两个同时(或几乎同时)发生的短暂性动作,用as / when:<br>I thought of it just when [as] you opened your mouth.就在你要说的时候,我也想到了。<br>(5)若要表示两个正在发展变化的情况,相当于汉语的“随着”,一般用as:<br>Things are getting better and better as time goes on.随着时间的推移,情况越来越好。<br>
You can go home as soon as your homework has been finished.<br>4. 注意<br>1)现在完成时的被动语态的两个助动词:have/has和been 缺一不可。<br>2)注意与一般过去时被动语态的区别。一般过去时的被动语态表示一个被动的动作发生在过去,其结果对现在没有影响;而现在完成时的被动语态的动作或状态尽管发生在过去,但侧重说明该动作或状态对想在造成的影响或结果。<br>The machine has been repaired.(说明动作发生在过去,对现在有影响,“修好了”)<br>The machine was repaired yesterday.(只说明动作发生在昨天)<br>3)不可与确定的表过去或将来的时间状语连用(如yesterday,three days ago,in 1970,in 2050等),但可与不确定的时间状语连用(如already,yet,just,often,recently,in the past few years等)<br>They have been punished recently.<br>4)有些动词像finish,buy,start,begin,return,join,marry,open,die等,表示的动作很短暂,我们称之为短暂性动词或非延续性动词。它们构成的现在完成时的被动语态不能够与for构成的短语,since构成的短语或引导的句子连用,也不能用于How long…?句型中。