Rumah  >  Soal Jawab  >  teks badan

Masalah dengan pembolehubah dan fungsi dengan nama yang sama

Lihat gambar yang saya ambil untuk butiranQQ截图20170620174114.jpg

phpcn_u3114phpcn_u31142700 hari yang lalu936

membalas semua(2)saya akan balas

  • PHP中文网

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

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

    Bahagian pengisytiharan js diletakkan di atas, dan foo di dalam fungsi ialah pembolehubah setempat dan tidak menjejaskan foo global.

    balas
    0
  • phpcn_u3114

    Terima kasih atas jawapan anda, saya faham

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

    Terima kasih atas jawapan anda, saya faham

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

    ringa_lee2017-06-21 09:37:34

    1 Perisytiharan fungsi akan berada di bahagian atas

    2 Perisytiharan pembolehubah juga akan berada di bahagian atas
    3 Perisytiharan fungsi akan berada di bahagian atas daripada perisytiharan pembolehubah:)
    4 Pembolehubah dan penyataan tugasan ditulis bersama apabila dihuraikan oleh enjin js , ia akan dibahagikan kepada dua bahagian: pengisytiharan dan tugasan , pengisytiharan berada di bahagian atas, dan tugasan kekal pada kedudukan asal
    5Pembolehubah yang diisytiharkan tidak akan diisytiharkan berulang kali

    Jika anda merujuk kepada perkara di atas, anda akan faham. sebabnya!

    Kesan sebenar kod anda ialah:

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


    balas
    0
  • phpcn_u3114

    Terima kasih kerana membantu saya menyelesaikan kekeliruan saya.

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