第 112 課 · 第 10 階段: 高階結構
第三條件句
高階Third conditional
構成與用法
if + had + V3, would have + V3 — 對過去的假設及其結果
1.形式
第三條件句:if + had + 過去分詞(過去完成時),would have + 過去分詞。用來想像過去本可以有不同的結果——條件和結果都是不真實的,因為事情已經發生了。
| if 從句(had + V3) | 主句(would have + V3) | |
|---|---|---|
| 肯定式 | If you had told me, | I would have helped. |
| 否定式 | If we hadn't missed the bus, | we wouldn't have been late. |
| 疑問式 | If you had known, | would you have come? |
縮寫形式:If I'd known(had),I'd have come(would),I would've come。語速快時,would have 聽起來幾乎像 “would-ə”。
if 從句裡的 'd 是 had(If I'd known);結果部分的 'd 是 would(I'd have gone)。另外,would've 聽起來像 “would of”,很多人因此拼錯——書寫時一定要寫 would have。
2.什麼時候用
1. 想像一個不同的過去——實際發生的情況正好相反
If I had left earlier, I wouldn't have missed the train.
如果我早點出門,就不會錯過火車了。(我出門晚了,錯過了火車)
If Lan hadn't helped me, I would have failed the course.
要不是阿蘭幫我,這門課我就掛了。(但阿蘭確實幫了我)
2. 對過去的事表示遺憾或責備
If you'd told me it was your birthday, I'd have bought you a cake.
你要是早告訴我那天是你生日,我就給你買蛋糕了。
We would have won if we hadn't made so many mistakes.
要不是我們犯了那麼多錯,我們就贏了。
3. 慶幸壞事沒有發生
If the neighbours hadn't smelled the smoke, the whole house would have burned down.
要不是鄰居聞到了煙味,整棟房子都會被燒燬。
If you hadn't reminded me, I would have forgotten my passport.
要不是你提醒我,我就忘帶護照了。
3.Could have / might have
結果部分可以用 could have + V3(= would have been able to,本來能夠)或 might have + V3(= would perhaps have,本來也許會)代替 would。
If we'd booked earlier, we could have sat together.
如果我們早點訂票,就能坐在一起了。(could have = would have been able to,本來能夠)
If she had applied, she might have won the scholarship.
如果她當時申請了,說不定就拿到獎學金了。(might have = would perhaps have,本來也許會)
4.第二、第三條件句和混合條件句
弄清每個分句說的是什麼時間。說過去的分句 → had V3 / would have V3;說現在的分句 → 一般過去時 / would + 動詞。兩個分句說的是不同時間時,就構成混合條件句。
| 時間 | 形式 | 例句 | |
|---|---|---|---|
| 第二條件句 | 現在 / 將來 | if + 過去時,would + 動詞 | If I had a car, I would drive to work. |
| 第三條件句 | 過去 | if + had V3,would have V3 | If I had had a car, I would have driven to work. |
| 混合 1 | 過去的條件 → 現在的結果 | if + had V3,would + 動詞 | If I had saved money, I would have a car now. |
| 混合 2 | 現在的條件 → 過去的結果 | if + 過去時,would have V3 | If I weren't afraid of flying, I would have gone with them. |
If I had studied medicine, I would be a doctor now.
如果我當初學了醫,現在就是醫生了。(過去 → 現在)
If we hadn't moved to Da Nang, we wouldn't know each other.
要是我們當初沒搬到峴港,我們就不會認識彼此了。(過去 → 現在)
If he were more organised, he wouldn't have forgotten the meeting.
如果他做事更有條理,就不會忘了那個會議。(現在 → 過去)
If I didn't have to work tomorrow, I would have stayed at the party longer.
要不是明天得上班,我就在聚會上多待一會兒了。(現在 → 過去)
混合 1 的結果部分常有 now、today、still。看到 “now”,而 if 從句用的是 had V3,結果部分就用 would + 動詞,不用 would have。
5.倒裝:Had I known…
在正式英語中,可以省略 if,把 had 放到主語前面:Had I known = If I had known。否定形式是 Had … not + V3(不縮寫成 Hadn't I…)。見“倒裝”一課。
Had we known the road was closed, we would have gone another way.
要是我們早知道那條路封了,就會走另一條路了。
Had she not called, I would have waited all night.
要不是她打來電話,我就會等一整夜。(不說:Hadn't she called)
6.常見錯誤
If I would have known, I would have come.If I had known, I would have come.
if 從句用 had + V3。“If I would have…” 在隨意的口語中能聽到,但不是標準用法。
If I knew you were in hospital, I would have visited you.If I had known you were in hospital, I would have visited you.
說的是過去的事 → had known。
We were late. If we had taken a taxi, we would arrive on time.We were late. If we had taken a taxi, we would have arrived on time.
結果也是過去的 → would have + V3。
If she had took the medicine, she would have felt better.If she had taken the medicine, she would have felt better.
had + 過去分詞(taken),不用一般過去時。
If she had asked me, I would of helped her.If she had asked me, I would have helped her.
would've 聽起來像 “would of”,但一定是 have。
If it had not rained, we would have play tennis.If it had not rained, we would have played tennis.
would have + 過去分詞。
例句
- If you had told me earlier, I would have helped you.
- If we had left ten minutes earlier, we would have caught the train.
- She wouldn't have failed the exam if she had studied harder.
- If I had had your number, I would have called you last night.
