同学,have done sth for 是现在完成时,是近期已经做过某事;have been doing sth for 是现在完成进行时,是指近期已经在做的事情并且现在还在继续做着;for 呢只是为了....,不必太介意介词和介词后面的宾语。还有,对于have done 和 have been doing 严格意义上讲都是要接延续性动词,但是后者要求相对严格点。希望对你有帮助!
第2个回答 2011-02-18
have done 强调动作已经完成,而HAVE BEEN DOING 强调的是最近一直在做,强调动作时间段中的存续性,HAVE BEEN DOING之后一般都接延续性动词