一.var申明变量 学习过JavaScript的同学都应该知道,ES5中申明变量使用var,ES5中的var可以说是无所不能的,所有类型的变量都是由var来申明,但往往很多使用者不知道var申明的变量存在变量提升,即变量可以在申明之前使用,有时不注意申明的作用域会导致全局变量污染,特别要注意这种隐形的全局变量申明,直接没有val,比如a = 3,像这个变量a就成了全局变量,如果此时你在用var申明一个a变量,在使用过程中隐形变量a 的值就会被覆盖,这就是容易导致全局变量污染的原因之一,还以一个大…