Welcome toVigges Developer Community-Open, Learning,Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
163 views
in Technique[技术] by (71.8m points)

有名函数调用遇到的问题

image

var a=1;
function btn(){
    console.log(a);
}
document.onclick=function(){
    var a=3;
    btn();
}

问题:函数btn调用后为什么console.log(a)的结果是1而不是3


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

函数内作用域是定义时,而非运行时

去掉var输出3,是因为a成了全局变量,就没有作用域这一说了


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to Vigges Developer Community for programmer and developer-Open, Learning and Share
...