一般如果knock用作动词时,用on, 如果knock用作名词时,用at. 没有太绝对的区别,只是一般这样使用 eg: Did I hear a knock at the door? Please do not enter before knocking on the door.