1、js的全局代码区只有一个,这样就会造成同名变量的值会被覆盖
2、使用对象封装,将代码封装到对象中,但是如果对象被覆盖,则全部失效,风险极高
3、使用工厂模式,将代码进行封装,但是并没有解决问题
4、将封装的函数名去除,避免覆盖,但是函数没有办法被调用
5、匿名自调用,可以在页面加载的时候调用一次,但是不能重复调用,并且数据没有办法获取
6、使用闭包,将数据一次性挂载到window对象下
闭包原理:在全局区中不能够获取函数体内的数据,使用更大作用域的变量来记录小作用域变量的值
1、js的全局代码区只有一个,这样就会造成同名变量的值会被覆盖
2、使用对象封装,将代码封装到对象中,但是如果对象被覆盖,则全部失效,风险极高
3、使用工厂模式,将代码进行封装,但是并没有解决问题
4、将封装的函数名去除,避免覆盖,但是函数没有办法被调用
5、匿名自调用,可以在页面加载的时候调用一次,但是不能重复调用,并且数据没有办法获取
6、使用闭包,将数据一次性挂载到window对象下
闭包原理:在全局区中不能够获取函数体内的数据,使用更大作用域的变量来记录小作用域变量的值