一、从所接宾语来看
dress要接“人”作宾语(不接“衣”作宾语),而其余的则要接“衣”作宾语(而不接“人”作宾语).
Shedressedthebaby.她给婴儿穿衣服.
Shewaswearinghermother’scoat.她穿她母亲的大衣.
Putyourcoatonwhenyougoout.出去时穿上外套.
Shehasaredjacketon.她穿着一件红色的短上衣.
二、从表示动作与状态来看
wear和haveon通常指穿着衣服的状态,puton通常指穿衣的动作,而dress既可指动作也可以指状态.如:
Shewore[hadon]anewdress.她穿着一件新衣服.
Putonyourclothesquickly.赶快穿上衣服.
Sheisdressingherself.她在穿衣服.
Shealwaysdressesinblack.她总是穿黑衣服.
注:dress还通常用于被动语态.如:
Thegirlwaspoorlydressed.这女孩衣着寒酸.
Hewasdressedasawoman.他男扮女装.
三、从所使用的时态和语态来看
wear和haveon虽然都可表示穿衣的状态,但wear可用于进行时态和被动语态,而haveon却既不可用于进行时态也不可用于被动语态.如:
Hewaswearinganewjacket.他当时穿着一件新夹克.
Suchclothesarenotoftenwornnowadays.现在那样的衣服很少有人穿了.
四、其他用法上的区别
wear除可表示穿衣外,还可表示戴表(花、纪念章等)以及留头发或胡须等,而dress,puton一般不这样用.如:
Heseldomwearsawatch.他很少戴表.
Hewearshishairlong.他留着长发.
注:haveon有时也这样用.如:
Theyallhaddarkglasseson.他们都戴着墨镜.
希望能够帮到楼主