很明显,这个大家都知道这个答案,就是很常见的作用域提前,我们下面来解析下上面的例子。其实上面的例子等价于:
var a = function (){ console.log('a')
}var b;
a()
b()
b = function(){ console.log('b')
}
变量作用域提升(仅考虑局部变量)
a()var a = 1;function a(){ console.log('a')
}
a();//a//Uncaught TypeError: a is not a function
等价于下面的代码
var a;
a = function(){ console.log('a')
}
a()
a = 1;
a()
到这里大家应该都明白了
作者:古朋
链接:https://www.jianshu.com/p/8b185aaa19f2