变量提升问题
函数声明式的提升现象和变量提升略有不同,函数声明式会提升到作用域最前边,并且将声明内容一起提升到最上边。
以下代码为变量声明式函数,变量提升但函数被定义的部分未被提升:
bar()
var bar = function() {
console.log(1);
}
// 报错:TypeError: bar is not a function
以下代码为函数声明函数,函数提升的同时函数定义的部分一起被提升:
bar()
function bar() {
console.log(1);
}
//输出结果1