请问:函数内不是有a吗?虽然没有用var 声明,但是js不是可以不声明吗?那为什么函数外的a被污染了
这里var在外部声明了就是相当于一个全局变量了
这叫闭包,跟js可以不声明没关系。闭包的特点就是能够保留值,而不是你说的被污染了。