recherche

Maison  >  Questions et réponses  >  le corps du texte

javascript 同名函数不分有参数和无参数吗?

为什么都是222

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

<code><!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>

</code>

PHPzPHPz2910 Il y a quelques jours373

répondre à tous(4)je répondrai

  • 黄舟

    黄舟2017-04-10 14:48:51

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

    répondre
    0
  • ringa_lee

    ringa_lee2017-04-10 14:48:51

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

    répondre
    0
  • 阿神

    阿神2017-04-10 14:48:51

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

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

    répondre
    0
  • 大家讲道理

    大家讲道理2017-04-10 14:48:51

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

    répondre
    0
  • Annulerrépondre