var a=1; function btn(){ console.log(a); } document.onclick=function(){ var a=3; btn(); }
问题:函数btn调用后为什么console.log(a)的结果是1而不是3
函数内作用域是定义时,而非运行时
去掉var输出3,是因为a成了全局变量,就没有作用域这一说了
var
a
2.1m questions
2.1m answers
63 comments
56.7k users