一个页面如果引用多个JS,或者像ASP.NET MVC,一个视图包含多个子视图,每个子视图有自己的JS,那么变量、函数的重名冲突机会将会大增。

如何解决?

这里有一个方案:


1、用类来封装子页的JS代码。



这种模式中,凡需要被外部访问,如HTML控件访问的,就定义成公有函数,其他的就是类内部的私有函数,冲突的机会将大大降低。


2、还有另外一种方式,就是将变量、函数封装到 JSON 对象里

var G = {
    callback : function(){alert("callback!");}
    ,f1 : function(){
        G.callback();
    }
}
G.f1();

但是这种方式的话,里面的元素全部都是公有的,外部全都可以访问,固然解决了重名问题,但谈不上有所封装。这种方式,感觉就好像实现了接口的类一样。

并且里面的方法互相访问,同样要加上命名空间,麻烦了点。

版权声明:本文为博主原屙文章,喜欢你就担走。

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-07-12
  • 2022-12-23
  • 2022-01-12
  • 2021-06-25
猜你喜欢
  • 2021-07-06
  • 2021-11-05
  • 2022-12-23
  • 2021-12-04
  • 2021-11-08
相关资源
相似解决方案