最近更新
阅读排行
关注本站

调用同名函数执行谁?

阅读:3847 次   编辑日期:2014-01-17

目录:

概述:

由于今天写代码的时候疏忽了,有一个方法写了两回(两个方法同名),自己改代码却一直在上面的方法中改,于是怎么改都不管用,弄到崩溃。随后发现了个问题,这个这个名称的方法 写了两回,刚开始我还没在意,认为就算写了两回也是执行前面的方法,但是事实证明,两个方法同名,执行后面的方法。

两个同名函数执行哪一个?:

下面两个函数都叫test,如果调用的话执行那一个呢?
	function test(){
		alert("a");
	}
	function test(){
		alert("b");
	}
	test();//b
答案是“b”。为什么呢?
原来JS在调用函数时会查找对应名称的方法,如果找到了还会继续往下找,如果之后没有了,就执行之前找到的,如果之后也找到了,就覆盖之前的函数。所以,结果是“b”。
将本篇文章分享到:
top