码迷,mamicode.com
首页 > Web开发 > 详细

JS重名解决方案

时间:2015-01-29 15:57:28      阅读:143      评论:0      收藏:0      [点我收藏+]

标签:

一个页面如果引用多个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控件访问的,就定义成公有函数,其他的就是类内部的私有函数,冲突的机会将大大降低。

JS重名解决方案

标签:

原文地址:http://blog.csdn.net/leftfist/article/details/43271471

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!