Salinan kode adalah sebagai berikut:
<! Doctype html>
<Html>
<head>
<meta charset = "UTF-8">
<title> masukkan judul di sini </iteme>
<type skrip = "Teks/JavaScript">
/*
* 1. Semua variabel dalam JS adalah umum.
2.Js tidak memiliki variabel statis
3. Penutupan: Variabel di luar fungsi dapat dipanggil di dalam fungsi; Kalau tidak, itu tidak bisa
*/
var r = 10;
function test1 () {
var r2 = "ABC";
// waspada (r)
}
// waspada (r2); // r2 di dalam fungsi yang tidak dapat diakses
test1 ();
// Fungsi bersarang tidak masalah
function test2 (num1) {
function test3 (num2, num3) {
return num2+num3+num1;
}
Test return3 (10,20)
}
// peringatan (test2 (30));
// -------------------------------------------------------------------------------------------------------------------------
function testFun () {
var r = 1;
var arr = [];
untuk (var x = 0; x <3; x ++) {
r ++;
arr [x] = function () {
mengembalikan r;
}
}
return arr;
}
alert ("testfun:"+testfun ());
var arr2 = testfun ();
alert ("arr:"+arr2 [0]);
alert ("arr:"+arr2 [1] ());
alert ("arr:"+arr2 [2] ());
// ============ Tiga kotak pop-up di atas semuanya 4 ================================
/*Menganalisis alasannya:
Pahami fungsi apa yang ada di JavaScript?
Fungsi adalah blok kode yang dapat dieksekusi, dan fungsi juga dapat diwakili oleh variabel, seperti cara kedua mendefinisikan fungsi.
var add = fungsi baru ("a", "return a+10"); Esensi yang mendasari adalah penunjuk nama fungsi
Kode yang dapat dieksekusi ini dibuat untuk variabel.
* Pertama, setelah fungsi testfun dieksekusi, hal yang sama disimpan dalam ARR [0], ARR [1], dan ARR []
Fungsi blok kode yang dapat dieksekusi () {
Return r
} Dengan kata lain, tiga di atas hanyalah variabel fungsi. Untuk menjalankannya, Anda hanya perlu menambahkan () setelah nama variabel dan akan baik -baik saja.
Dan saat ini nilai r adalah 4
Saat mengeksekusi ARR [0] () setara dengan menjalankan kode di blok kode ini.
Jadi hasil akhirnya mengembalikan R, tentu saja, mengembalikan 4.
*/
</script>
</head>
<body>
</body>
</html>