var a;
function a(){
}
a();
console.log(a); //function a
var a = 10;
function a(){
}
a(); //a is not function
function a(){
}
a();
var a;
console.log(a); //function a
function a(){
}
a()
var a = 10;
console.log(a); //10
var a = "bbb";
var a = 10;
console.log(a); //10
JavaScript 允许重复定义函数,后定义的同名函数覆盖之前的,与参数无关。
当变量与函数重名的时候
- 变量声明会被顶置,函数声明也会被顶置且比变量更先声明。
- 变量的声明和赋值语句一起写时,JS引擎在解析时,会将其拆成声明和赋值2部分,声明置顶,赋值保留在原来位置。
- 声明过的变量不会再重复声明。






网友评论