虚拟语气:if I were 还是 if I was?一次解决"如果的事"
虚拟语气(Subjunctive Mood)是英语中表达"假设、愿望、建议"的专用语法。它最大的特点是:用过去时态表示现在或将来,用过去完成时表示过去。听起来绕,拆开看其实很简单。
三种假设:对照表一张够用
| 假设类型 | If 从句 | 主句 | 例句 |
|---|---|---|---|
| 与现在相反 | 过去时(were / did) | would + 原形 | If I had money, I would travel. |
| 与过去相反 | 过去完成时(had done) | would have + 过去分词 | If I had studied, I would have passed. |
| 与将来相反(不太可能) | were to / should | would + 原形 | If it were to rain, I would stay home. |
第一类:与现在事实相反
假设的内容和现在的情况相反。从句用一般过去时,主句用 would + 动词原形。
If I were you, I would take the job.
如果我是你,我会接受那份工作。(但我不是你)
If she had more time, she would learn Spanish.
如果她有更多时间,她会学西班牙语。(但她现在没时间)
if I were 还是 if I was?在虚拟语气中,if I were 是标准用法(were 用于所有人称)。口语中 if I was 也很常见,但正式写作和考试中优先用 if I were。记住 Beyoncé 那首歌:If I Were a Boy。
第二类:与过去事实相反
假设的内容和过去已经发生的事相反。从句用过去完成时(had + 过去分词),主句用 would have + 过去分词。
If I had known about the party, I would have gone.
如果我当时知道那个派对,我就会去了。(但我不知道,所以没去)
If you had left earlier, you wouldn't have missed the train.
如果你早点出发,就不会错过火车了。(但你出发晚了)
第三类:不太可能的将来假设
用 were to + 动词原形 或 should + 动词原形,表示"万一"。可能性极低。
If the sun were to explode tomorrow, we wouldn't know for eight minutes.
万一太阳明天爆炸,我们要八分钟后才知道。
wish / if only:愿望中的虚拟
wish 和 if only 后面的虚拟规则和 if 条件句一样:
- 对现在的愿望:wish + 过去时 → I wish I were taller.
- 对过去的遗憾:wish + 过去完成时 → I wish I had studied harder.
- 对将来的愿望(抱怨):wish + would → I wish you would stop smoking.
If only I had listened to my parents.
要是我当时听了父母的话就好了。
suggest / recommend 后的虚拟式
表示建议、要求、命令的动词后面,that 从句用 (should) + 动词原形。英式英语常保留 should,美式英语通常直接接动词原形。
I suggest that he go to the doctor. (不是 he goes)
我建议他去看医生。
It is essential that everyone be on time.
每个人都必须准时。
总结:一个公式记住虚拟语气
把事情往后推一个时态——说现在用过去,说过去用过去完成。再加上 would。
- 现在的事用过去:If I were... / If I had... → I would do
- 过去的事用过去完成:If I had done... → I would have done
- wish 同理:对现在 → 过去时,对过去 → 过去完成时
- 建议类动词后:should + 原形(should 常省略)