javascript中具有相同名称的函数

bij*_*iju 5 html javascript asp.net

我试图在js文件上编写一个函数,并在页面中使用相同的名称编写另一个函数.我期待一个错误,但没有错误来了,我只得到js文件中的函数来执行.这是可能的.即使我是在一个单独的js文件中编写一个函数,一切都在一个单独的html文件中呈现.然后怎么可能

<script type="text/javascript" language="javascript" src="JScript.js" />
<script language="javascript">
    function Boo()
     {
        alert("Hai new");
    }
</script>

<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <asp:Button runat=server OnClientClick="Boo();" Text="Click" />
    </div>
    </form>
</body>
Run Code Online (Sandbox Code Playgroud)

并在js文件中

function Boo() {
    alert("Hai");
}
Run Code Online (Sandbox Code Playgroud)

Lia*_*amB 15

很多人用JavaScript思考的一个方面是,如果你定义多个具有相同名称的函数,那么最后定义的函数将是实际运行的函数.JavaScript函数不是多态的,就像许多其他语言中的函数一样,JavaScript不关心为函数定义的实际参数是否不同,因为它无法在此基础上区分它们.在其他语言中,你可能将myfunc(oneparm)和myfunc(parmone,parmtwo)作为两个单独的函数,根据传递的参数数量运行,在JavaScript中,最后定义的最后一个将始终是一个运行而不管参数的数量.

http://javascript.about.com/library/blpolyfunc.htm