如果将 javascript 变量作为函数调用,那么其工作过程是怎样的?
let a=5;
function show(){
a=10;
function a(){};
return a;
}
let res=show();
console.log(a,res); //output:5 10
有人能解释一下为什么 a 显示 5,函数 a(){} 是什么意思吗?
如果将 javascript 变量作为函数调用,那么其工作过程是怎样的?
let a=5;
function show(){
a=10;
function a(){};
return a;
}
let res=show();
console.log(a,res); //output:5 10
有人能解释一下为什么 a 显示 5,函数 a(){} 是什么意思吗?
在 JavaScript 中,所有
function
声明都会提升到作用域的顶部。函数声明本身会创建一个作用域,因此在这种情况下,代码实际上被解释为:这意味着外部
a
引用永远不会改变。 相关的 SO 问题:javascript 函数声明的作用域