以下内容摘自“英语法法网”:
三者可表示“当……时候”,区别如下:
(1) 若主句表示的是一个短暂性动作,从句表示的是一个持续性动作,三者都可用:
He fell asleep when [while, as] he wasreading. 他看书时睡着了。
【注】as 用于引出一个持续性动词表示“在……期间”时,其谓语通常只能是那些含有动作(action)和发展(development) 意味的动词,一般不能是那些不用于进行时态的动词(如 be, seem, love, want, agree, see,know, have 等),所以下面一句中的 while 不能换为 as:
A:I’m going to the post office. 我要去邮局。
B:While you’re there, can you get me some stamps? 当你在邮局时,能帮我买几张邮票吗?
(2) 若主、从句表示两个同时进行的持续性动作,且强调主句表示的动作延续到从句所指的整个时间,通常要用 while:
Don’t talk while you’re eating. 吃饭时不要说话。
I kept silent while he was writing. 在他写的时候,我默不作声。
但是,若主从句表示的两个同时进行的动作含有“一边…一边”之意思,通常用 as:
She sang as she went along. 她边走边唱。
(3) 若从句是一个短暂性动作,主句是一个持续性动作,可用 as / when 但不用 while:
It was raining hard when [as] we arrived. 我们到达时正下着大雨。
(4) 若主从句表示的是两个同时(或几乎同时)发生的短暂性动作,用 as / when:
I thought of it just when [as] you openedyour mouth. 就在你要说的时候,我也想到了。
(5) 若要表示两个正在发展变化的情况,相当于汉语的“随着”,一般用 as:
Things are getting better and better astime goes on. 随着时间的推移,情况越来越好。
As it grew darker, it became colder. 天色越晚,天气越冷。
(6) 表示“每当…的时候”(暗示一种规律性),一般要用 when:
It’s cold when it snows. 下雪时天冷。
He smiles when you praise him. 你夸奖他时他总是笑笑。
(7) 若主从句所表示的动作不是同时发生,而是有先后顺序时,一般要用 when:
I will go home when he comes back. 他回来时,我就回家去。
(8) when 可用作并列连词,表示“这时(突然)”;while 也可以用作并列连词,表示“而”、“却”(表示对比);但 as 则没有类似用法:
We were about to start when it began torain. 我们正要出发,这时天开始下雨了。
He likes coffee, while she likes tea. 他喜欢咖啡,而她却喜欢茶。
(9) as 后可直接跟一个名词,构成省略句,但 while, when 很少这样用:
As a boy, he lived in Japan. 他小时候在日本。
(10) when 和 while 后可接现在分词、介词短语、形容词等构成省略句,但as 一般不这样用:
When [While] reading, he fell asleep. 他看书时睡着了。
When [While] in trouble, ask her for help. 遇到麻烦的时候你就去找她帮忙。
原文见: