Masalah dengan pembolehubah dan fungsi dengan nama yang sama
phpcn_u3114
phpcn_u3114 2017-06-20 17:42:16
0
2
970

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

phpcn_u3114
phpcn_u3114

membalas semua(2)
Ty80
<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 Terima kasih atas jawapan anda, saya faham
    phpcn_u3114 pengarang 2017-06-21 22:38:15
  • balas Terima kasih atas jawapan anda, saya faham
    phpcn_u3114 pengarang 2017-06-21 22:38:16
ringa_lee

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 Terima kasih kerana membantu saya menyelesaikan kekeliruan saya.
    phpcn_u3114 pengarang 2017-06-21 22:39:29
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan