百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程网 > 正文

日积月累:when 与 while的区别,怎么样用才准确?

yuyutoo 2024-10-14 16:24 1 浏览 0 评论


When和While引导时间状语从句,表示“当……时候”,有时可互换,但条件有限。

一般说来,when引导的时间状语从句谓语既能用延续性动词,也能用非延续性动词(绝大多数情况下还是非延续性动词)。when从句表明“时间点”,或说明“时间段”,意为“在……时候”。

例如:

When they arrived at the station, the train had left. 当他们到达车站时,火车已经开走了。(arrived是非延续性动词。)

Please call me when you get home. 你到家后请给我打个电话。(get是非延续性动词。)

When you saw Mary, was she with Peter? 你看到玛丽时,她和彼得在一起吗?(saw是非延续性动词。)

He was walking back to his room when he heard an explosion. 他正走回房间,突然听到爆炸声。(heard是非延续性动词。)

When it rains, I wear my raincoat.下雨时,我穿雨衣。(rains是延续性动词。)

Who will be in charge of the department when Tom leaves? 汤姆离开时谁将负责这个部门?(leaves是非延续性动词。)

I was at the baker's when I met Joe. 我在面包店遇见乔。(met是非延续性动词。)

What was he doing when you came into the room? 当你走进房间的时候他正在干什么?(came是非延续性动词。)

Sally was making a cake when her baby started to cry. 萨莉正在做蛋糕,这时她的孩子开始哭了。(started是非延续性动词。)

I was having lunch when James arrived. 詹姆斯到达时,我正在吃午饭。(arrived是非延续性动词。)


while引导时间状a语从句谓语用延续性动词,侧重与主从句的同时发生。延续性动词具有“开始“和“结束”的持续过程,可被表示一段时间(不表示“时间点”)的状语修饰,且能用于进行时态,意为“当……的时候”, 强调同一时间内一个事件发生时,另一件事如何。非延续性动词通常没有这种特征。

例如:

While Alice was sleeping, her dog started to bark. 爱丽丝睡觉时,她的狗开始叫。(sleep是延续性动词,用于进行时态。)

While I was standing outside the cinema, someone picked my pocket. 当我站在电影院外面时,有人掏了我的兜。(stand是延续性动词。)

While Mary was washing her hair, her little sister did her homework. 玛丽洗头时,她的小妹妹在做作业。(wash是延续性动词。)

Kitty entered the house while her friends were having coffee. 基蒂走进了房子的时候,她的朋友们在喝咖啡。(have在此是延续性动词。)


when和while引导时间状语从句有时可互换。但是,如果从句的谓语动作或状态发生在主句的之前,when不能与while互换。

When(While)he has finished his work, he takes a short rest. 他做完工作后,休息一会儿。(从句中的has finished先于主句的takes。)

When(While)I heard the doorbell, I went to the door. 当我听到门铃时,我走到门口。(从句中的heard先于主句的went。)

When(While)the weather gets better, I'll go there with my friends. 天气转好的时候,我将和朋友们一起去那里。(从句中的gets先于主句的go。)

When(While)Mary returned to her room, she turned off the light immediately. 她回到房间后,立刻关闭电灯。(从句中的returned先于主句的turned off。)

Joe hurt his back when (while)he tried to lift the piano. 乔试图抬钢琴时伤了后背。(从句中的tried先于主句的hurt。)

Open your umbrella when (while)you feel a drop of rain. 当你感觉到下雨时,把伞打开。(从句中的feel先于主句的open。)


when和while引导时间状语从句谓语为延续性动词时,有可能互换。若从句谓语动作或状态与主句的同时发生,且持续性长时,用when,不用while。

例如:

While (When)I was living in Japan, there was a big earthquake. 当我住在日本时,发生了一场大地震。(live是延续性动词,when和while可互换。)

When (While) I was a child, I played soccer. 当我还是个孩子的时候,踢足球。(was是非延续性动词,且“儿童期“时间长,不能用于进行时态,when和while不可互换。)

相关推荐

MySQL5.5+配置主从同步并结合ThinkPHP5设置分布式数据库

前言:本文章是在同处局域网内的两台windows电脑,且MySQL是5.5以上版本下进行的一主多从同步配置,并且使用的是集成环境工具PHPStudy为例。最后就是ThinkPHP5的分布式的连接,读写...

thinkphp5多语言怎么切换(thinkphp5.1视频教程)

thinkphp5多语言进行切换的步骤:第一步,在配置文件中开启多语言配置。第二步,创建多语言目录。相关推荐:《ThinkPHP教程》第三步,编写语言包。视图代码:控制器代码:效果如下:以上就是thi...

基于 ThinkPHP5 + Bootstrap 的后台开发框架 FastAdmin

FastAdmin是一款基于ThinkPHP5+Bootstrap的极速后台开发框架。主要特性基于Auth验证的权限管理系统支持无限级父子级权限继承,父级的管理员可任意增删改子级管理员及权限设置支持单...

Thinkphp5.0 框架实现控制器向视图view赋值及视图view取值操作示

本文实例讲述了Thinkphp5.0框架实现控制器向视图view赋值及视图view取值操作。分享给大家供大家参考,具体如下:Thinkphp5.0控制器向视图view的赋值方式一(使用fetch()方...

thinkphp5实现简单评论回复功能(php评论回复功能源码下载)

由于之前写评论回复都是使用第三方插件:畅言所以也就没什么动手,现在证号在开发一个小的项目,所以就自己动手写评论回复,没写过还真不知道评论回复功能听着简单,但仔细研究起来却无法自拔,由于用户量少,所以...

ThinkPHP框架——实现定时任务,定时更新、清理数据

大家好,我是小蜗牛,今天给大家分享一下,如何用ThinkPHP5.1.*版本实现定时任务,例如凌晨12点更新数据、每隔10秒检测过期会员、每隔几分钟发送请求保证ip的活性等本次分享,主要用到一个名为E...

BeyongCms系统基于ThinkPHP5.1框架的轻量级内容管理系统

BeyongCms内容管理系统(简称BeyongCms)BeyongCms系统基于ThinkPHP5.1框架的轻量级内容管理系统,适用于企业Cms,个人站长等,针对移动App、小程序优化;提供完善简...

YimaoAdminv3企业建站系统,使用 thinkphp5.1.27 + mysql 开发

介绍YimaoAdminv3.0.0企业建站系统,使用thinkphp5.1.27+mysql开发。php要求5.6以上版本,推荐使用5.6,7.0,7.1,扩展(curl,...

ThinkAdmin-V5开发笔记(thinkpad做开发)

前言为了快速开发一款小程序管理后台,在众多的php开源后台中,最终选择了基于thinkphp5的,轻量级的thinkadmin系统,进行二次开发。该系统支持php7。文档地址ThinkAdmin-V5...

thinkphp5.0.9预处理导致的sql注入复现与详细分析

复现先搭建thinkphp5.0.9环境...

thinkphp5出现500错误怎么办(thinkphp页面错误)

thinkphp5出现500错误,如下图所示:相关推荐:《ThinkPHP教程》require():open_basedirrestrictionineffect.File(/home/ww...

Thinkphp5.0极速搭建restful风格接口层

下面是基于ThinkPHPV5.0RC4框架,以restful风格完成的新闻查询(get)、新闻增加(post)、新闻修改(put)、新闻删除(delete)等server接口层。1、下载Thin...

基于ThinkPHP5.1.34 LTS开发的快速开发框架DolphinPHP

DophinPHP(海豚PHP)是一个基于ThinkPHP5.1.34LTS开发的一套开源PHP快速开发框架,DophinPHP秉承极简、极速、极致的开发理念,为开发集成了基于数据-角色的权限管理机...

ThinkPHP5.*远程代码执行高危漏洞手工与升级修复解决方法

漏洞描述由于ThinkPHP5框架对控制器名没有进行足够的安全检测,导致在没有开启强制路由的情况下,黑客构造特定的请求,可直接GetWebShell。漏洞评级严重影响版本ThinkPHP5.0系列...

Thinkphp5代码执行学习(thinkphp 教程)

Thinkphp5代码执行学习缓存类RCE版本5.0.0<=ThinkPHP5<=5.0.10Tp框架搭建环境搭建测试payload...

取消回复欢迎 发表评论: