JS重名解决方案
一个页面如果引用多个JS,或者像ASP.NET MVC,一个视图包含多个子视图,每个子视图有自己的JS,那么变量、函数的重名冲突机会将会大增。
如何解决?
这里有一个方案:用类来封装子页的JS代码。
<script type="text/javascript"> var globalName = "左直拳"; var A = function(){ var name = "leftfist"; function hi(){//私有函数,外部无法访问 alert(name + " : Hi!");//私有变量,内部可以直接访问 } this.hiGlobal = function(){ alert(globalName + " : Hello!");//全局变量,内部可以直接访问 } this.sayHello = function(){//public函数,外部可访问 hi();//私有函数,内部可以直接访问 this.hiGlobal();//公有函数,内部访问也要加上 this. } }; var fa = new A(); </script>
<input type="button" id="btnHi" value="sayHi" onclick="fa.sayHello();" />
这种模式中,凡需要被外部访问,如HTML控件访问的,就定义成公有函数,其他的就是类内部的私有函数,冲突的机会将大大降低。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。