can the name of function be the same with name of variable js

JavaScript
If you use a function name as variable name, its value is replaced by 
function body. 
So var a becomes your function a and thus your alert displays function a.

Edit But if you assign value to a like var a = "xya";. 
Then it function will be replaced by variable. As per Order of 
precedence

!!Variable assignment takes precedence over function declaration!!
!!Function declarations take precedence over variable declarations!!

Source

Also in JavaScript: