看到这样一个句子,if 从句明显是表示过去吧?为什么表示过去的虚拟条件不用过去完成时,而用了一般过去时?
If I knew that I would never have come.
If I knew that I would never have told him.
▲网友的句子可以用过去完成时,而且通常应该如此:
If I had known that I would never have come. 我如果早知道的话,我是绝不会来的。
▲比如下面的句子,if虚拟条件句均是针对过去情况,均用的是过去完成时:
If I had known,I’d have told you. 如果我知道,我就告诉你了。
I could have warned you if I had known where you were. 我要是知道你在哪里的话就提醒你了。
I might have called if I had known you were here. 假如我知道你在这儿,我或许就会打电话了。
If I had known that you were coming I would have met you at the air-port. 要是我早知道你要来的话,我就会在机场接你了。
I wouldn’t have been so depressed if I had known how common this feeling is. 如果早知道这种感觉如此普遍,我就不会那么沮丧了。
If I had known you were in the office building, I would have looked you up. 如果知道你在办公楼里,我就来找你了。
▲但是不是网友的句子用一般过去时就错了呢?也不是!因为在现代英语中,有时也会在if从句该用过去完成时的地方使用一般过去时,这种用法在美国英语中尤其常见。请看 Swan
在其 PEU 中的相关说明:
如果觉得我的回答对您有用,请随意打赏。你的支持将鼓励我继续创作!