JavaScript变量提升和函数提升的顺序:
函数提升优先级高于变量提升,且不会被同名变量声明时覆盖,但是会被同名变量赋值后覆盖
console.log(a) // ƒ a(){} 变量a赋值前打印的都会是函数a
var a=1;
function a(){}
console.log(a) // 1 变量a赋值后打印的都会是变量a的值
参考一道 执行上下文的面试题:
var c=1
function c(c){
console.log(c)
}
c(2) // 报错
需要考虑函数提升和变量提升的优先级,这道题很容易第一眼看错 然后就脱口而出答案是2
2870

被折叠的 条评论
为什么被折叠?



