调用同名函数执行谁?
阅读:4149 次 编辑日期:2014-01-17
目录:
概述:
由于今天写代码的时候疏忽了,有一个方法写了两回(两个方法同名),自己改代码却一直在上面的方法中改,于是怎么改都不管用,弄到崩溃。随后发现了个问题,这个这个名称的方法
写了两回,刚开始我还没在意,认为就算写了两回也是执行前面的方法,但是事实证明,两个方法同名,执行后面的方法。
两个同名函数执行哪一个?:
下面两个函数都叫test,如果调用的话执行那一个呢?
function test(){
alert("a");
}
function test(){
alert("b");
}
test();//b
答案是“b”。为什么呢?
原来JS在调用函数时会查找对应名称的方法,如果找到了还会继续往下找,如果之后没有了,就执行之前找到的,如果之后也找到了,就覆盖之前的函数。所以,结果是“b”。