经常会有var timer=null;function a(){timer=setInterval(function(){},1000)}这类的代码 这样函数内部的timer没有用var声明岂不就是全局变量了?为什么要这样呢?不是很明白
2 回答

__innocence
TA贡献313条经验 获得超208个赞
函数闭包。在函数内部的timer实际上就是外面的timer,函数闭包的存在允许在函数里面调用函数外面的方法或者变量。这是JavaScript语言相比于Java、C++比较特殊的地方。
添加回答
举报
0/150
提交
取消