关于js重名方法的先后调用问题

  当js中方法重名时,最后引入的js会覆盖前面的引入的js(就是说会调用最后引入的js中的方法)详情参照(main1.js与white1.js 的b())
但是,当最后一个js中存在语法上的错误时(也可以是本js文件中其他方法格式错误),会调用前面的js中方法。详情参照(main.js与white.js的a())

<!DOCTYPE html>
<html lang="en">

  <script src="js/main.js"></script>
  <script src="js/white.js"></script>
 <script src="js/main1.js"></script>
  <script src="js/white1.js"></script>

    <head>
    </head>
    <Button value="ceshi" onclick="a()">main  white</Button>
    <Button value="ceshi" onclick="b()">main1  white1</Button>
    <body>
    </body>
</html>

几个js文件小案例

main.js的a()
function a(){
    alert("main---->a()");
}
white.js的a()
function a(){
    alert("white---->a()");
}因为white.js比main.js后引入,所以他覆盖了main.js的a(),所以结果是"white---->a()"

main1.js的b()
function b(){
    alert("main1---->b()");
}
white1.js的b()
function b(){
    alert("white1---->b()");function bb(){
注意此处的white1.js的的方法,因为漏写了一个大括号所以white1.js无法被读取需要提一点的是,我们在写js当无法找到我们所写函数的时候并确定自己写的是正确的,这时我们需要注意在此方法中,其他的方法是否正确,ajax格式,大括号缺少之类的因此执行main1.js的b(),所以结果是"main1---->b()"
时间: 2024-08-24 21:24:47

关于js重名方法的先后调用问题的相关文章

JS重名解决方案

一个页面如果引用多个JS,或者像ASP.NET MVC,一个视图包含多个子视图,每个子视图有自己的JS,那么变量.函数的重名冲突机会将会大增. 如何解决? 这里有一个方案:用类来封装子页的JS代码. <script type="text/javascript"> var globalName = "左直拳"; var A = function(){ var name = "leftfist"; function hi(){//私有函数

js重名的处理

### 关于重名的处理 > 在变量提升阶段,如果名字重复了,不会重新的进行声明,但是会重新的进行定义(后面赋的值会把前面赋的值给替换掉) ```javascript //=>变量提升:fn=aaafff111 (=aaafff222) (=aaafff333) (=aaafff444) fn();//=>4 function fn(){console.log(1)} fn();//=>4 function fn(){console.log(2)} fn();//=>4 var

使用微信js接口的方法 ,以调用相机为例

protected string GetTimeStamp_Str=""; protected string nonceStr_Str = ""; protected string signature_Str = ""; protected void Page_Load(object sender, EventArgs e) { GetTimeStamp_Str = GetTimeStamp(); //nonceStr_Str = new Gui

C#接口多继承方法重名问题

最近实现一个功能需要继承两个接口,然而父类接口有这重名的方法,且方法实现一致.两个父接口均被多个子接口继承,并在类实例中实现.起初,我是通过new重名方法来实现我的功能调用.后被指正,在网上看了一个工友解决类似问题的方法,这里引用记录一下. 引自:http://www.cnblogs.com/xgw2004058/archive/2010/06/18/1760046.html 经常,一个类会实现多个接口,比如用户的一个控件继承自"IEdit"和"ICombo",每个

方法重名

方法重名 在父子类的继承关系中,创建子类对象,访问成员方法的规则: 创建的对象是谁,就优先用谁,如果没有就向上找. //父类 public class Fu{ public void methodFu{ System.out,println("子类方法执行!"); } public void method(){ System.out,println("父类重名方法执行!"); } } //子类 public class Zi extend Fu { public v

phpcms v9 中 PHPSSO无法通讯解决方法(PHPSSO无法通讯间接影响phpcms v9注册会员无法通过“重名无法通过”)

问题的由来 怎么样使用 Cocos2d-x 快速开发游戏,方法很简单,你可以看看其自带的例程,或者从网上搜索教程,运行起第一个HelloWorld,然后在 HelloWorld 里面写相关逻辑代码,添加我们的层.精灵等 ~ 我们并不一定需要知道 Cocos2d-x 是如何运行或者在各种平台之上运行,也不用知道 Cocos2d-x 的游戏是如何运行起来的,它又是如何渲染界面的 ~~~ 两个入口 程序入口的概念是相对的,AppDelegate 作为跨平台程序入口,在这之上做了另一层的封装,封装了不同

JS调用App方法及App调用JS方法

做App内嵌H5项目时,经常会遇到js与App的交互,最普遍的就是方法的互相调用,那么如何实现方法的互相调用呢? 写在前面: 如果只是小项目且后期扩大的可能性不大的时候,可以忽略,可如果是长期项目的话,那么就需要考虑以下一些问题了. 1. 方法命名规范. 如果考虑到以后会有大量的方法,那么规范化的命名就很重要了,规范化的命名,既保证了名字的唯一性又保证了代码的可读性方便开发过程,也方便后期维护.   举个栗子,  如果现在有一个方法,是关闭webview, js调用app的方法, 如果直接叫cl

JS如何定义方法及调用 精选

简单搜索了下,遇到点问题1,经常在JS中看到如var foo = function(){}的形式foo是方法名还是对象名,如果想调用此方法,是用foo(),foo.function(),还是该如何正确调用.除此之外,希望高手帮忙总结下,JS自定义方法和调用的一个大全,这个可以没有,先谢了 方法(method)是通过对象调用的javascript函数.也就是说,方法也是函数,只是比较特殊的函数. 函数(function)是一段代码,需要通过名字来进行调用.它能将一些数据(函数的参数)传递进去进行处

Array的队列方法&amp;重排序方法—— JS学习笔记2015-6-27(第68天)

队列方法 相对于栈数据结构的后进先出[LIFO]访问规则,队列数据结构的访问规则是先进先出[FIFO] 这里提到一个方法  shift(); 它能够移除数组中的第一个项,并返回该项,同时将数组长度减1:// 有点像pop() 实例: var colors = ['red','green']; var item = colors.shift(); alert(colors);  // green alert(item);  // red alert(colors.length)  // 1; 同时