条件句("if"句)让学习者头疼,不是因为语法复杂,而是因为每一类条件句回答的问题都不一样:这是真实的、想象的,还是已经不可能了?
零类条件句:永远成立的事实
形式: If + present simple, present simple
在三个编号的类型之前,还有第四种——用于普遍规律,这里的 if 意思是「无论何时」。
- If you heat water to 100°C, it boils.
- If I don't sleep, I get headaches.
这里不用 will:没有任何预测,只是在陈述事实。
第一类条件句:未来真实可能发生的事
形式: If + present simple, will + 动词原形
用于将来真的可能发生的事情。
- If it rains tomorrow, we'll stay home.
- If you study hard, you'll pass the exam.
条件确实是可能的——你还不知道会不会发生,但它有可能发生。
主句部分也可以用别的情态动词,表达不同程度的把握或坚持:If it rains, we might stay home. · If you see her, tell her I called.
第二类条件句:现在/将来不真实或不太可能的事
形式: If + past simple, would + 动词原形
用于假设的情况——想象的、不太可能的,或者现在根本不可能实现的事。
- If I won the lottery, I would travel the world.(我大概率不会中奖)
- If I were you, I would apologize.(我不是你——纯粹的假设)
请注意:第二类条件句中,动词 "be" 传统上所有人称都用 were(if I were、if she were),不过口语里也经常用 "was"。
第三类条件句:不可能改变的过去
形式: If + past perfect, would have + 过去分词
用来谈论没有发生的过去,以及它假想中的结果。
- If I had studied harder, I would have passed the exam.(我没有好好学习——所以没考过)
- If she had left earlier, she wouldn't have missed the train.(她出门晚了——所以错过了火车)
这关乎遗憾与愿望或回望过去——这里已经没什么可以改变了。
三类条件句对比
| 类型 | If 部分 | 结果部分 | 含义 |
|---|---|---|---|
| 零类 | present simple | present simple | 永远成立 |
| 第一类 | present simple | will + 动词 | 真实的未来 |
| 第二类 | past simple | would + 动词 | 不真实的现在/未来 |
| 第三类 | past perfect | would have + 过去分词 | 不可能的过去 |
表格背后的规律——时态每往后退一步,就离现实远一步。现在时对应真实,过去时对应不真实,past perfect 对应不可能。这里的时态标记的不是时间,而是距离。
混合条件句
现实中的情况经常横跨两个时间点:原因在过去,结果在现在,或者反过来。英语只是从每种类型里各取一半。
- If I had studied medicine, I would be a doctor now.(过去的条件 → 现在的结果)
- If I were more organised, I wouldn't have missed the deadline.(现在的条件 → 过去的结果)
这不是例外,而是每一半各自按自己的时间选择所带来的自然结果。
表达「如果」的其他方式
| 词 | 含义 | 例句 |
|---|---|---|
| unless | 如果不 | I won't go unless you come. |
| as long as / provided that | 只要满足这个条件 | You can borrow it as long as you return it. |
| in case | 以防万一,提前准备 | Take an umbrella in case it rains. |
| even if | 条件本身不影响结果 | I'm going even if it rains. |
in case 值得单独说一下:I'll take an umbrella if it rains 的意思是「看天气再决定」,而 in case it rains 的意思是「现在就带上,以防万一」。
正式文体中的倒装
在正式书面语中,可以去掉 if,把助动词提到句首:
- Had I known, I would have said something.(= If I had known)
- Were I in your position, I would wait.(= If I were)
- Should you need help, please call.(= If you should need)
几乎所有人都会犯的错误
两个分句之间时态混用,是最常见的错误。
❌ If I would have more time, I would travel more. ✅ If I had more time, I would travel more.(第二类条件句——if 分句里不用 "would")
回想一次工作邀约
A: If they offer it to you, will you take it?
B: Probably. If the money were better I'd have said yes already.
A: You should have negotiated.
B: I know. If I'd pushed harder, I'd be signing the contract now.
第一类条件句表达真实的可能性,第二类表达不真实的现在,最后一句是混合条件句:原因在过去,结果在现在。
自我检测
下面的测验会给出真实的句子,让你判断:是现实的、假设的,还是为时已晚?