变量提升问题
var 和 fn
"什么是变量提升 变量提升又叫预解析"
console.log(a);// undefined
var a = "外部";
console.log(a);// '外部'
console.log(fn);// fn 函数
fn()// '函数内部'
function fn () {
var a="函数内部";
console.log(a)
}
相同点:var 和 fn 都会声明的变量都会变量提升
不同点:
1. var 只声明变量(不会定义)
2. function即声明 + 定义
ES6新增let const 没有变量提升
下篇文章介绍
let const 与var 的区别
(文字太多不爱看。。。)