fonction javascript
给我你的怀抱
给我你的怀抱 2017-06-26 10:53:22
0
6
677
function Foo(){ getName = function(){ console.log(1); }; return this; } var getName = function (){ console.log(4) }; Foo().getName();

Pourquoi le code ci-dessus génère-t-il 1 ;

Après l'exécution de foo(), ceci est la sortie. Il s'agit de l'objet window. Est-ce que getName dans foo() devient une expression de fonction globale ? Et la variable suivante getName est également une expression de fonction : pourquoi le résultat d'impression est-il 1 ;

foo, après exécution, est-ce équivalent au code suivant ?

getName = function(){ console.log(1); }; var getName = function (){ console.log(4) }; getName(); //4
给我你的怀抱
给我你的怀抱

répondre à tous (6)
小葫芦

Quand Foo n'est pas appelé

window.getName = function(){ console.log(4); }

Lorsque vous appelez Foo()

getName = function(){ console.log(1); }; // 相当于更改了 window.getName

Après l'appel,return thisdans Foo pointe vers la fenêtre, donc le résultat final est 1.

    扔个三星炸死你
    function Foo(){ getName = function(){ console.log(1); }; return this; } //全局声明一个变量getName var getName = function (){ console.log(4) }; //重新赋值 getName = function () { console.log(1) } //最终打印结果为1 window.getName()
      黄舟

      Foo().getName(); exécute getName dans Foo

        阿神
        function Foo(){ getName = function(){ console.log(1); }; return this; } var getName = function (){ console.log(4) }; Foo().getName();
        function Foo(){ getName = function(){ console.log(1); }; return this; } var getName = function (){ console.log(4) }; getName = function () { console.log(1) } window.getName()
          代言

          Vérifiez console.log(Foo()), êtes-vous sûr que c'est une fenêtre ?

            ringa_lee

            Le getName dans la fonction Foo n'est pas déclaré avec var, il est donc global, donc lorsque Foo est exécuté, la fonction getName à l'intérieur de la fonction écrasera celle définie à l'extérieur

              Derniers téléchargements
              Plus>
              effets Web
              Code source du site Web
              Matériel du site Web
              Modèle frontal
              À propos de nous Clause de non-responsabilité Sitemap
              Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!