函数声明和变量声明
1.函数声明和他定义的内容是一体化的,他两一起被提升到最前面
并且是优先于变量声明的。
var b = 5
function a(){
alert(4)
}
相当于
function a(){
alert(4)
}
var b
b = 5
2.函数式声明当做普通变量声明来看
3.var的声明一个变量时,var 会被提升到最前端,如果多次声明了名字相同的变量,会被合为一个包括function声明的函数。
var foo = 6
var foo = 7
//var foo
//foo = 6
//foo =7
//没有变量提升 de 不能重复声明。
let foo = 5
foo = function () {
console.log(3);
}
function foo() {
console.log(2);
}
4.function 声名相当于var声明,因此var getName是重复声明
var getName ; //重复声明
function getName(){ //函数声明提升到顶部
console.log(1);
}
console.log(getName);//不是undefined 而是函数
// 相当于以下
// function getName(){ //函数声明提升到顶部
// console.log(1);
// }
// console.log(getName);//不是undefined 而是函数