Skip to content

Unit 40 — if I had known ... / I wish I had known ...


A. if I had known ...:对过去未发生情况的假设

1. Example — If I’d known ...

上个月 Gary 住院了几天。

Rachel 当时不知道这件事。

几天前他们偶然遇见,Rachel 说:

If I’d known you were in hospital, I would have gone to visit you.

如果我当时知道你住院了,我就会去看你。

这里:

I’d known = I had known

实际情况是:

Rachel didn’t know.

所以:

她没有去看 Gary。


2. if + had done

我们使用:

if + had + 过去分词

来谈论:

过去没有发生的情况

例如:

If I’d known ...

If you’d done ...

If we’d seen ...

这就是:

Past Perfect(过去完成时)


3. 第三条件句的基本结构

if + had done, would have done

例如:

If I had known, I would have gone.

如果我当时知道,我就会去了。

结构:

if 从句主句
if + had + 过去分词would have + 过去分词
if I had knownI would have gone
如果我当时知道我本来就会去

4. 核心含义

这个结构通常表示:

过去事实已经无法改变。

也就是:

条件没有发生 ↓ 结果也没有发生

例如:

If I had known, I would have gone.

真实情况:

I didn’t know. I didn’t go.


5. 时间关系

PAST
  │
  ├── I didn't know
  │
  └── I didn't go
         ↑
         │
imagined alternative:
If I had known,
I would have gone.

核心:

过去事实 vs 过去假想


6. Example — If I’d seen you

I didn’t see you when you passed me in the street. If I’d seen you, I would have said hello.

你从街上经过时,我没有看到你。

如果我当时看见你,我就会和你打招呼。

真实情况:

I didn’t see you.

所以:

I didn’t say hello.


7. Example — if they hadn’t been so tired

They didn’t go out last night. They would have gone out if they hadn’t been so tired.

他们昨晚没出去。

如果他们当时没那么累,他们就会出去了。

真实情况:

They were tired.

所以:

They didn’t go out.


8. Example — If you’d been looking

If you’d been looking where you were going, you wouldn’t have walked into the wall.

如果你当时看着路,就不会撞到墙上。

实际情况:

You weren’t looking.

所以:

You walked into the wall.

这里使用:

had been looking

表示:

过去某一段时间本来应该正在进行的动作。


9. if + had been doing

结构:

if + had been + V-ing

例如:

If you had been paying attention, you would have understood.

如果你当时一直认真听,你就会明白。


10. Example — if I’d had a camera

The view was wonderful. I would have taken some pictures if I’d had a camera with me.

景色非常漂亮。

如果当时我带了相机,我就会拍一些照片。

注意:

I’d had = I had had

这里会出现两个 had:

had had

第一个 had:

过去完成时助动词

第二个 had:

have 的过去分词


11. had had

例如:

If I had had more time, I would have stayed longer.

如果当时我有更多时间,我就会待久一点。

结构:

had + had

虽然看起来重复,但语法正确。


12. 现在假设 vs 过去假设

图片中特别对比:

现在

I’m not hungry. If I was hungry, I would eat something.

我现在不饿。

如果我饿的话,我会吃点东西。

这里:

if + Past Simple

表示:

现在的非真实假设


过去

I wasn’t hungry. If I had been hungry, I would have eaten something.

我当时不饿。

如果我当时饿了,我就会吃东西。

这里:

if + Past Perfect

表示:

过去的非真实假设


13. 第二条件句 vs 第三条件句

类型if 从句主句时间
第二条件句if + Past Simplewould + do现在 / 未来假设
第三条件句if + Past Perfectwould have + done过去假设

例如:

If I were hungry, I would eat.

现在假设。

If I had been hungry, I would have eaten.

过去假设。


B. if 从句中通常不用 would have

14. 核心规则

我们通常不说:

❌ if something would have happened

而应该说:

if + had done

然后在主句使用:

would have done


15. 正确结构

正确:

If I had seen you, I would have said hello.

错误:

❌ If I would have seen you, I would have said hello.

所以记住:

IF SIDE → had done

RESULT SIDE → would have done


16. ’d 可以表示 had 或 would

这是非常重要的一点。

'd 有两种可能:

had

或者:

would

必须根据后面的结构判断。


17. Example

If I’d seen you, I’d have said hello.

第一处:

I’d seen = I had seen

因为后面是:

过去分词 seen


第二处:

I’d have said = I would have said

因为后面是:

have + 过去分词


18. 如何判断 ’d?

结构’d =
I’d seenI had seen
I’d knownI had known
I’d hadI had had
I’d have goneI would have gone
I’d callI would call

快速判断:

’d + 过去分词 → 常常是 had

’d + have + 过去分词 → would

’d + 动词原形 → would


C. I wish I had known ...:对过去的遗憾

19. wish + had done

在 wish 后面,也可以使用:

had + 过去分词

来表达:

对过去发生或没发生的事情感到遗憾。


20. I wish something had happened

I wish something had happened

意思:

我很遗憾这件事没有发生。

例如:

I wish I had known.

真希望我当时知道。

实际:

I didn’t know.


21. I wish something hadn’t happened

I wish something hadn’t happened

意思:

我很遗憾这件事情发生了。

例如:

I wish I hadn’t eaten so much.

真希望我当时没吃那么多。

实际:

I ate too much.


22. Example — I wish I’d known Gary was ill

I wish I’d known that Gary was ill. I would have gone to see him.

真希望我当时知道 Gary 生病了。

如果知道,我就会去看他。

实际:

I didn’t know.

所以:

I didn’t go.


23. Example — I wish I hadn’t eaten so much

I feel sick. I wish I hadn’t eaten so much.

我感觉不舒服。

真希望我刚才没吃那么多。

实际:

I ate too much.

所以现在:

regret


24. Example — Do you wish you’d studied science?

Do you wish you’d studied science instead of languages?

你是否希望自己当时学的是理科,而不是语言?

实际:

You didn’t study science.

这里是在:

回头想象过去另一种选择。


25. I’m glad vs I wish

图片对比:

对过去满意

I’m glad I saw him.

我很高兴见到了他。

实际:

I saw him.


对过去遗憾

I wish I’d seen him.

真希望我当时见到他。

实际:

I didn’t see him.


26. 对比表

句子实际情况
I’m glad I saw him.我见到他了
I wish I’d seen him.我没见到他
I wish I hadn’t eaten so much.我吃太多了
I wish I’d known.我当时不知道

27. wish 后面通常不用 would have

图片提醒:

We do not say wish ... would have ...

例如:

The weather was cold. I wish it had been warmer.

天气很冷。

真希望当时暖和一点。

不是:

❌ I wish it would have been warmer.


28. wish + had done 的核心

可以理解成:

过去事实已经发生了,但我希望历史不同。

例如:

REAL PAST
   │
   ▼
It was cold.
   │
   ▼
  regret
   │
   ▼

I wish it had been warmer.


D. would do vs would have done

29. 过去条件 + 现在结果

例如:

If I’d gone to the party last night, I would be tired now.

如果我昨晚去参加聚会了,我现在会很累。

这里:

条件发生在过去

但是:

结果发生在现在。

结构:

if + had done → would do


30. 混合条件句

这种结构常叫:

Mixed Conditional

因为:

条件和结果属于不同时间。

例如:

If I had gone to the party last night, I would be tired now.

过去:

没去聚会。

现在:

所以我现在不累。


31. 过去条件 + 过去结果

例如:

If I’d gone to the party last night, I would have met lots of people.

如果我昨晚去了聚会,我就会认识很多人。

这里:

条件是过去

结果也是:

过去。

所以:

would have done


32. would do vs would have done

结构结果时间Example
would + do现在I would be tired now.
would have + done过去I would have met people.

33. Example 对比

过去影响现在

If I had studied harder, I would have a better job now.

如果我以前学习更努力,现在可能会有更好的工作。


过去影响过去

If I had studied harder, I would have passed the exam.

如果当时更努力,我就会通过考试。


34. would have / could have / might have

图片最后对比:

If the weather hadn’t been so bad ...

如果当时天气没那么差……

可以有三种结果:

we would have gone out.

we could have gone out.

we might have gone out.


35. would have gone

We would have gone out.

我们本来就会出去。

表示:

如果条件成立,这个结果基本会发生。


36. could have gone

We could have gone out.

我们本来就可以出去。

等于:

we would have been able to go out.

重点:

有能力 / 有条件做到。


37. might have gone

We might have gone out.

我们本来可能会出去。

等于:

maybe we would have gone out.

重点:

结果也不完全确定。


38. would / could / might have 对比

结构核心感觉
would have done本来就会做
could have done本来能够 / 可以做
might have done本来可能会做

例如:

If I had had more time, I would have stayed.

我本来会留下。

If I had had more time, I could have stayed.

我本来可以留下。

If I had had more time, I might have stayed.

我本来可能会留下。


39. 图片中的全部例句

A — if + had done

Example中文
If I’d known, I would have gone.如果我当时知道,我就会去了。
If I’d seen you, I would have said hello.如果当时看到你,我会打招呼。
They would have gone out if they hadn’t been so tired.如果没那么累,他们就会出去。
If you’d been looking, you wouldn’t have walked into the wall.如果你当时看路,就不会撞墙。
I would have taken pictures if I’d had a camera.如果有相机,我就会拍照。
If I was hungry, I would eat.如果我现在饿,我会吃。
If I had been hungry, I would have eaten.如果我当时饿,我就会吃。

B — if 从句不用 would have

正确错误
If I had seen you, I would have said hello.❌ If I would have seen you...

C — wish + had done

Example中文
I wish I’d known Gary was ill.真希望我当时知道 Gary 生病了。
I wish I hadn’t eaten so much.真希望我没吃那么多。
Do you wish you’d studied science?你希望当时学的是理科吗?
I’m glad I saw him.我很高兴见到了他。
I wish I’d seen him.真希望我当时见到了他。
I wish it had been warmer.真希望当时暖和一点。

D — would / could / might have

Example中文
If I’d gone to the party, I would be tired now.如果昨晚去聚会,我现在会很累。
If I’d gone to the party, I would have met lots of people.如果昨晚去聚会,我就会认识很多人。
We would have gone out.我们本来会出去。
We could have gone out.我们本来可以出去。
We might have gone out.我们本来可能会出去。

40. Unit 39 vs Unit 40

这两单元可以直接连起来。

Unit 39

if + Past Simple

表示:

现在 / 未来与现实不同的假设。

例如:

If I knew, I would call.

实际:

I don’t know.


Unit 40

if + Past Perfect

表示:

过去与事实不同的假设。

例如:

If I had known, I would have called.

实际:

I didn’t know. I didn’t call.


41. if I knew vs if I had known

if I knewif I had known
假设现在假设过去
实际现在不知道实际过去不知道
If I knew, I would call.If I had known, I would have called.
现在还有假想过去已经无法改变

42. I wish I knew vs I wish I had known

I wish I knewI wish I had known
希望现在现实不同希望过去事实不同
现在不知道当时不知道
真希望我现在知道真希望我当时知道

例如:

I wish I knew his number.

现在不知道。

I wish I had known his number.

过去当时不知道。


43. 四个核心结构

时间ifwish
现在非真实if + Past Simplewish + Past Simple
过去非真实if + Past Perfectwish + Past Perfect

例如:

现在过去
If I knewIf I had known
I wish I knewI wish I had known

44. 条件句总路线

现实未来

If I see him, I will tell him.

现实中有可能。


假设现在 / 未来

If I saw him, I would tell him.

只是设想。


假设过去

If I had seen him, I would have told him.

过去没有发生。


45. 三种条件句对比

类型if 从句主句核心
FirstPresentwill do现实可能
SecondPast Simplewould do现在/未来假设
ThirdPast Perfectwould have done过去反事实

46. 时间距离模型

可以把英语条件句理解成:

REAL / POSSIBLE
      │
      ▼
if + PRESENT
      │
      │ distance
      ▼
if + PAST
      │
      │ further distance
      ▼
if + HAD DONE

也就是:

Present → 比较现实

Past → 假设

Past Perfect → 对已经结束的过去做反事实假设


47. wish 的时间模型

现在遗憾

现实:

I don’t know.

愿望:

I wish I knew.


过去遗憾

现实:

I didn’t know.

愿望:

I wish I had known.

所以:

wish + past → regret about now

wish + past perfect → regret about past


48. 最实用的判断方法

先问:

我假设的是现在,还是过去?

现在 / 未来

用:

if + Past Simple

例如:

If I had more time...


过去

用:

if + Past Perfect

例如:

If I had had more time...


然后看结果时间。

结果也是过去

would have done

例如:

I would have stayed.


过去条件影响现在

would do / would be

例如:

I would be happier now.


49. 最终思维模型

IF I HAD KNOWN

REAL PAST
   │
   ▼

I DIDN'T KNOW │ │ imagine opposite ▼ IF I HAD KNOWN │ ▼ I WOULD HAVE GONE

对过去事实进行反事实想象。


I WISH I HAD KNOWN

REAL PAST
   │
   ▼

I DIDN'T KNOW │ REGRET │ ▼ I WISH I HAD KNOWN

希望过去本来不是这样。


一句话记忆

if I knew

假如我现在知道……

if I had known

如果我当时知道……

I wish I knew

真希望我现在知道……

I wish I had known

真希望我当时知道……

would have done

过去条件成立的话,本来会做……

could have done

过去条件成立的话,本来可以做……

might have done

过去条件成立的话,本来可能会做……

最核心:

IF + PAST = 假设现在

IF + HAD DONE = 假设过去

WISH + PAST = 遗憾现在

WISH + HAD DONE = 遗憾过去