Are both grammatically correct?If yes, which one will be better?
Have a look / Take a look
Indeed(確實) they are, but I detect a very slight difference: take suggests more effort on the part of the looker.
Example:
[Two people are sitting at a table, each reading different newspapers. One sees an article that would interest the other.]
Have a look at this.
[Two people are sitting at separate tables, at opposite ends of a room. The one who says
Take a look at this
knows that he's asking the other person to get up and walk across the room.]
參考網址: http://www.usingenglish.com/forum/ask-teacher/29883-have-look-take-look.html
http://englishwizard.mysinablog.com/index.php?op=ViewArticle&articleId=1777130