怎么判断句子中的“having done”是“现在分词的完成式”还是“动名词的完成式”?

动名词和现在分词是两个完全不同的概念,当它们都以“having done”的形式在句中出现时,怎么判断它是做现在分词还是动名词?

要判断这个结构,其实就是确定ing形式是状语,还是主宾语。
状语就是现在分词,主宾语就是动名词。
having done一般不作定语;
having done作表语也不太常见。
Having finished the work, she went out to play. 状语,现在分词完成式
We were praised for having finished the work. 宾语,动名词完成式
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-01-18
要想正确判断“havig done”是现在分词还是动名词,必须得明白动名词只能做主语、宾语、表语,现在分词只能做状语。例如:having finished the work, Tom went home.这里面的“having done”必须是状语,因为它不是主语、宾语或表语。