虚拟语气:条件句
表示与事实相反,或不太可能发生的假设。
if I were … / if I had done …
要点
  1. 与现在事实相反:if 从句用过去式(be 一律用 were),主句 would/could/should + do。
  2. 与过去事实相反:if 从句用 had done,主句 would have done。
  3. 与将来事实相反:if 从句用 were to do / should do,主句 would do。
  4. 省略 if 时把 were / had / should 提到句首:Were I you, …
  5. 含蓄条件句用 without、but for 代替 if 从句。
  6. 从句与主句的时间不一致时各自退格(混合虚拟):从句说过去、主句说现在,就一边 had done、一边 would do。
  7. if it were not for…(现在)/ if it had not been for…(过去)=「要不是」,退格看它说的是什么时候。
  8. 与将来事实相反、且认为可能性极小时,从句三种写法都成立:did / were to do / should do。
例句
If I were you, I would take the job.
如果我是你,我会接受那份工作。
If he had come yesterday, he would have met her.
如果他昨天来了,就能见到她了。
If it should rain tomorrow, we would stay at home.
万一明天下雨,我们就待在家里。
Were I you, I would not give up.
我要是你,就不会放弃。
If you had taken my advice, you would not be in trouble now.
你要是听了我的建议,现在就不会惹上麻烦了。
But for your help, I would have failed.
要不是你帮忙,我早就失败了。
易错提示
  • 虚拟条件句里 be 一律用 were,不用 was。
  • 从句与主句的时态是错开的,别两边都用 would。
  • 提 were / had 到句首时 if 已经省掉,不能再写 if were I you。
  • 「If I would have time」是错的 —— would 只出现在主句,从句里不堆 would。