English 轻松学
Grammar · 语法 · B1 · B2 · 共 20 课
  1. 1现在完成式
  2. 2将来时态:will、going to、现在进行时
  3. 3条件句:零、第一、第二型
  4. 4情态动词:许可与义务
  5. 5used to 的三种用法
  6. 6过去的习惯:used to / would / 过去简单式
  7. 7过去的能力:could / was able to / managed to
  8. 8强调词:so 与 such
  9. 9形容词:可分级 vs 不可分级
  10. 10修饰比较级
  11. 11对比连接词:although, despite 等
  12. 12短语动词:可分离与不可分离
  13. 13被动语态
  14. 14情态动词:推断现在的事
  15. 15情态动词:推断过去的事
  16. 16过去完成式
  17. 17条件句:第三与混合条件句
  18. 18将来进行时与将来完成时
  19. 19大写字母与撇号
  20. 20英式英语 vs 美式英语

条件句:第三与混合条件句

Third & Mixed Conditionals 语法 · B1 · B2
约 7 分钟 B2
这课学什么
  • 「要不是当时……,现在就……」这类反事实推理,中文张口就来,英文得靠第三条件句和混合条件句撑起结构。
  • 第三条件句(if + past perfect >> would have + pp)讲纯粹的过去假设——现实里已经发生了相反的事。
  • 混合条件句拆两种:过去决定影响现在状态(if + past perfect >> would + infinitive),现在状态解释过去结果(if + past simple >> would have + pp)。
  • 判断该用哪种要看主句说的是「现在的状态」还是「过去的结果」,这是最容易搞混的地方。
  • 结构比第一、第二条件句复杂,属于 B2 范围。

重点内容


条件句基本结构复习

条件句由两部分组成:

  • if clause(条件句):说明条件
  • main clause(主句):说明结果

语序可以互换,意思不变:

  • If I hadn't been ill, I would have gone to the party.
  • I would have gone to the party if I hadn't been ill.


第三条件句(Third Conditional)

用途:想象过去不同的情况,以及那个不同情况带来的不同结果(反事实)。

结构:If + past perfect >> would have + past participle

部分结构
If clauseIf + had + past participle
Main clausewould have + past participle

例句:

  • If I had understood the instructions properly, I would have passed the exam.(如果当时理解了说明,就会通过考试了。)
  • We wouldn't have got lost if my phone hadn't run out of battery.(如果我手机没没电,就不会迷路了。)
  • We would have walked to the top of the mountain if the weather hadn't been so bad.

全部都是假设,现实里已经发生了相反的事。



混合条件句(Mixed Conditionals)

混合条件句把「不同时间段」混合起来假设,有两种组合:

类型一:过去条件 → 现在结果(Past/Present)

用途:如果过去做了不同的选择,现在的状态会不同。

结构:If + past perfect >> would + infinitive

  • If I hadn't got the job in Tokyo, I wouldn't be with my current partner.
    (如果当初没得到东京的工作,我现在就不会和现在的伴侣在一起了。)

👉 if clause 说的是过去的事,main clause 说的是现在的状态。

类型二:现在条件 → 过去结果(Present/Past)

用途:如果现在的情况不同,过去某件事就不会发生。

结构:If + past simple >> would have + past participle

  • It's really important. If it wasn't, I wouldn't have called you on your holiday.
    (这很重要。如果不是的话,我就不会在你度假时打电话给你了。)
  • If she was really my friend, she wouldn't have lied to me.
    (如果她真的是我的朋友,她就不会对我撒谎了。)

👉 if clause 说的是现在的情况,main clause 说的是过去的结果。



快速对比三种条件句

类型结构用途
第三条件句if + past perfect >> would have + pp过去反事实
混合一(过去→现在)if + past perfect >> would + infinitive过去决定影响现在状态
混合二(现在→过去)if + past simple >> would have + pp现在状态影响过去结果

例句练习

英文中文
If I had studied harder, I would have passed the exam.如果我当时用功一点,就会通过考试了。(第三)
If we'd moved to Scotland when I was young, I would have a Scottish accent now.如果我小时候搬到苏格兰,现在就有苏格兰口音了。(混合一)
If she was really my friend, she wouldn't have lied to me.如果她真是我的朋友,就不会对我说谎了。(混合二)
We wouldn't have got lost if my phone hadn't run out of battery.如果我手机没没电,我们就不会迷路了。(第三)
If I hadn't got that job, I wouldn't be living here now.如果我当时没得到那份工作,我现在就不会住在这里了。(混合一)

常见错误

❌ If I would have studied, I would have passed. ✅ If I had studied, I would have passed.

if clause 里不用 would,用 past perfect(had + pp)。

❌ If I hadn't moved here, I wouldn't have my current job.

这句实际上是混合一(过去条件→现在结果),要说 *I wouldn't have my current job*(现在状态),不是 *would have had*。要想清楚主句说的是现在还是过去。

❌ 搞混第三条件句和混合条件句

看主句:说「现在的状态」用 would + infinitive(混合一);说「过去的结果」用 would have + pp(第三或混合二)。


Sources

British Council – Learn English:

  1. Conditionals: third and mixed

练一下

学完马上做几题,看看记住了多少。答错也没关系,提交后会告诉你为什么。

语法点共 6 题
常见错误辨析共 3 题