关于javascript调用重名函数的问题
在js中如果出现重名方法(单纯的方法名一样),无论参数和返回值是否相同。后面出现的方法都会覆盖前面的方法,即总是调用距离最近的方法。
比如在一个页面先引入a.js 再引入b.js。他们中间都有一个test()函数。那么会调用b.js中的该方法。另一个场景就是自定义alert()方法来覆盖本身的alert()方法。在需要的页面引入写的有alert()方法的xx.js.那么调用的就是自己写的alert()。(可以用来改alert()的样式)。在不需要改变的页面就不导入相应的xx.js就好。
window.open()也能被重写
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <script type="text/javascript"> function open() { alert("调用成功") } function test() { window.open("www.baidu.com"); } </script> <body> <button type="button" onclick="test()">测试</button> </body> </html>
结果: