js方法重名
我将一段js代码复制到html页面中,但是运行时发现另外一个js写的效果没有运行,我怀疑是复制进来的js代码和之前的js代码里有函数名重名了,请问有没有什么工具可以检测出...
我将一段js代码复制到html页面中,但是运行时发现另外一个js写的效果没有运行,我怀疑是复制进来的js代码和之前的js代码里有函数名重名了,请问有没有什么工具可以检测出来是那个方法名重名了啊,或者有什么方法可以解决这个问题,方法名有点多,一个一个手动去找太麻烦了。请大侠指点下
展开
2015-08-02
展开全部
一个页面如果引用多个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>
解决方案如下:用类来封装子页的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>
展开全部
我觉得问题不是方法重名
JS如果碰到两个或者多个相同名称的函数,那么它会调用后边的这个函数,除非后边的这个方法你把它重写了,但是你是复制应该不会出现这个问题。
你先看看JS有没有问题。
JS如果碰到两个或者多个相同名称的函数,那么它会调用后边的这个函数,除非后边的这个方法你把它重写了,但是你是复制应该不会出现这个问题。
你先看看JS有没有问题。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
貌似没什么好方法,还是一个一个排查比较实际点
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询