javascript 同名函数不分有参数和无参数吗?
PHPz
PHPz 2017-04-10 14:46:51
0
4
377

为什么都是222

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script type="text/javascript" src="jquery-2.1.1.min.js"></script>
</head>

<body>


<p id="page">
    <p>
        <a href="/signup/" onclick="app.requireLogin();return false;">注册</a>
        <a href="#" onclick="app.requireLogin('', {to: 'login'});return false;">登录</a>
    </p>
</p>




<script>
var app = {
    requireLogin : function(a, b) {
        console.log(b.to + "----");
        if(b.to == 'login') {
            $('#page').append('<h1>1111111</h1>');
        }
    },
    requireLogin : function() {
        console.log('reg');
        $('#page').append('<h1>2222</h1>');
    }
};
</script>


</body>
</html>
PHPz
PHPz

学习是最好的投资!

reply all(4)
黄舟

你这个是对象属性啊,同名的属性肯定是被覆盖的啊。不过即使是同名的函数,也是不分的....这个我好像只见过编译型的分这个?

左手右手慢动作

js不支持函数重载 前者被后者覆盖掉了

阿神

其实这样就类似于:
var a = 100;
var a = 200;
最终得到的就是200。

但是需要说明一下,在严格模式下:
{
a: 100,
a: 200
}
会报错。严格模式不允许对象属性同名。
非严格模式下,对象有同名属性时,后者会无条件覆盖前者。

大家讲道理

这是把动态语言当静态语言用的节奏呀。

Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template