今天偶然想到了一个问题:如果我页面引用两个js源文件,而且两文件中有同名的方法,我又正好引用了这个方法,那会调用哪个文件里的呢?如果页面的js里我定义了一个同名方法,会先调用哪个呢?
我测试了一下
<script type="text/javascript" src="js/test.js"></script>
<script type="text/javascript" src="js/another.js"></script>
文件中定义同名方法
test.js中
//测试
function test(){
var d = new Date();
d.getDate();
alert(d.toLocaleString());
}
another.js中
// 测试同名函数
function test(){
alert("我是来测试同名方法的");
}
引入两个js文件 并且在页面上也写一个同名js方法,页面方法
<script type="text/javascript">
function test(){
alert("我是页面原生方法");
}
</script>
结果:
1:有点调用页面定义的js方法。
2:注释掉页面定义的test()方法会调用后引入的js文件中的test()方法。eg:如上述般引入文件,就会调用another.js文件中的test()方法,倘若换一下引入顺序:
<script type="text/javascript" src="js/another.js"></script>
<script type="text/javascript" src="js/test.js"></script>
这样就会调用test.js中的test()方法
实际应用的时候还是有一定用处的。更深层次的原因等待寻找。