white ceshi family main color 其他 pan body
当 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()"
关于 js 重名方法的先后调用问题
来源: http://www.bubuko.com/infodetail-2163678.html