1.done是过去分词,having been done是现在分词完成时的被动语态.两个都可以表示“完成 +被动.”但在非谓语中,一般我们根据就简的原则,使用过去分词. 2.having been done 做状语表示该动作发生在主句动作之前; 而done则不强调这层含义; 举个例: Having been killed,she couldn't stop her blood from going chilled. 和 Killed,she couldn't stop her blood from going chilled. 前边一句稍微强调“再她的血变冷之前她被杀的” 而后者没有强调动作先后的含义. (需要说明一下done指的是普遍意义的过去分词而不是单纯的done)