Heim  >  Fragen und Antworten  >  Hauptteil

Probleme mit gleichnamigen Variablen und Funktionen

Sehen Sie sich die Bilder an, die ich für Details gemacht habeQQ截图20170620174114.jpg

phpcn_u3114phpcn_u31142650 Tage vor902

Antworte allen(2)Ich werde antworten

  • PHP中文网

    PHP中文网2017-06-21 09:38:13

    <script>
    var bar=function(){
       var foo=function(){}
       foo=10;
    }
    var foo=1;
    bar();
    alert(foo);
    </script>

    js申明部分被顶置,函数内部的foo是局部变量,不影响全局的foo。

    Antwort
    0
  • phpcn_u3114

    谢谢你的回答,弄清楚了

    phpcn_u3114 · 2017-06-21 22:38:15
    phpcn_u3114

    谢谢你的回答,弄清楚了

    phpcn_u3114 · 2017-06-21 22:38:16
  • ringa_lee

    ringa_lee2017-06-21 09:37:34

    1函数声明会置顶

    2变量声明也会置顶
    3函数声明比变量声明更置顶:)
    4变量和赋值语句一起书写,在js引擎解析时,会将其拆成声明和赋值2部分,声明置顶,赋值保留在原来位置
    5声明过的变量不会重复声明

    以上这几点你作个参考,就明白原因了!

    你的代码实际上运行的效果是:

    function bar(){
     function foo(){}
      var foo;//实际上无效
      foo=10;
    }
    var foo;
    bar();
    foo=1;
    console.log(foo);


    Antwort
    0
  • phpcn_u3114

    谢谢你帮我解惑,弄清楚了

    phpcn_u3114 · 2017-06-21 22:39:29
  • StornierenAntwort