when 和 while 都可以表示“当…时”,用法上有何区别?

when 和 while 都可以表示“当…时”,用法上有何区别?

这个问题也是很多人平时会问我的,今天就做个总结:

最大一个区别就是:当 whenwhile都可以表示“当…时”,但 when 后面的动词可以是延续性动词或非延续性动词,但 while 后面的动词必须是延续性动词。

顺便补充一下:

  • ①延续性动词是指表示能够延续的动作。如:study, work, stand, lie, know, walk, keep, live,have, wait, watch, sing, read, sleep,stay等。
  • ②非延续性动词又称“瞬间动词”,表示不能延续的动作,这种动作发生后立即结束。如:open, die, close, begin, finish, come, go, move, borrow, lend, buy,arrive等

所以,当从句的动词为延续性动词时,when 可与 while 互换。比如:

I missed my home very much when I was abroad.

我在国外时很想家。

这句话中的 when 可以替换为 while,因为 was abroad 是延续性动词(表达一种长期的状态)。

但在这句话中,情况就不同了:

When I came home, my mom was cooking dinner.

当我回家时,我妈妈正在做晚餐。

When 从句中,came 是非延续性动词,所以不能用 while 来代替 when。

when 和 while 的另一种差异是:

当when 后面的动作往往是一般过去时,那么 when = after,when 从句动作早于主句动作,比如:

I found a shelter when it began to rain.

下雨后,我找到一个避雨的地方。

主句动词 found 发生在 when 从句动词 began to rain 之后。

再如:

When the meeting ended, people left the room.

会议结束后,大家走出房间。

主句动词left发生于 when 从句动词 ended 之后。

而 while 一般连接两个同时发生的动作,比如:

I was studying while my roommate was sleeping.

当我正在学习时,我的室友正在睡大觉。

was studying 和 was sleeping 是同时发生的。

当然,当 when 后面跟过去进行时的时候,跟 while 的用法别无二致了:

请比较:

  • ① I was enjoying my dinner when my wife came home.
  • ② While I was enjoying my dinner, my wife came home.

这两句是一样的,意思都是“我太太回家时,我正在吃晚餐”。

学到了点赞!