Variabel ecmascript:
1. Nilai tipe dasar (segmen data sederhana)
2. Nilai tipe referensi (objek yang mungkin terdiri dari nilai) → objek yang disimpan dalam memori
------
Atribut Dinamis: Anda hanya dapat secara dinamis menambahkan atribut baru ke nilai yang dirujuk untuk penggunaan di masa mendatang.
------
Salin Nilai Variabel:
Salin nilai tipe dasar → Buat nilai baru pada objek variabel → salin ke variabel baru (tidak ada pengaruh timbal balik)
Salin Nilai Jenis Referensi → Salin nilai yang disimpan dalam objek variabel ke dalam ruang alokasi variabel baru (salinannya adalah pointer, menunjuk ke objek yang sama, mempengaruhi satu sama lain)
------
Parameter lulus:
Semua fungsi dalam ecmascript diteruskan berdasarkan nilai.
(Nilai di luar fungsi disalin ke parameter di dalam fungsi.
→ Anda dapat membayangkan parameter fungsi ECMA sebagai variabel lokal. )
Penjelasan Alasan:
Pernyataan 1:
Parameter fungsi adalah variabel lokal, yang diteruskan ke parameter fungsi pada nilai eksternal, dan nilai internal dan eksternal tidak saling mempengaruhi. Referensi dan alamat duplikat ditangani, sehingga mereka memiliki pengaruh satu sama lain.
Pernyataan 2: Sudut Objek (Parameter adalah objek OBJ)
------
Objek dilewatkan oleh nilai → objek parameter dan objek eksternal mengacu pada objek yang sama → objek yang ditunjuk oleh objek eksternal hanya memiliki satu objek dalam memori heap dan merupakan variabel global.
Jangan keliru sebagai hasil dari objek lokal yang tercermin dalam ruang lingkup global (eksternal) dari objek yang dimodifikasi → variabel lokal di dalam fungsi akan dihancurkan segera setelah fungsi dieksekusi.
------
Lingkungan eksekusi (kadang -kadang disebut sebagai "lingkungan") dan ruang lingkup
Lingkungan eksekusi mendefinisikan putih atau fungsi yang memiliki akses ke data lain menentukan perilaku masing -masing → setiap lingkungan eksekusi memiliki objek variabel yang terkait dengannya → semua variabel dan fungsi yang ditentukan dalam lingkungan disimpan dalam objek ini.
------
Setiap fungsi memiliki lingkungan eksekusi sendiri → ketika aliran eksekusi memasuki fungsi → lingkungan fungsi akan didorong ke dalam tumpukan lingkungan → pop itu setelah fungsi dieksekusi → kontrol pengembalian ke lingkungan eksekusi sebelumnya
Ketika kode dieksekusi dalam suatu lingkungan, rantai lingkup objek variabel dibuat.
Tujuan Rantai Lingkup: Pastikan akses tertib dari semua variabel dan fungsi yang memiliki izin untuk mengakses di lingkungan eksekusi.
Ujung depan rantai lingkup selalu merupakan objek variabel di lingkungan di mana kode yang saat ini dieksekusi berada.
------
Lingkungan internal dapat rantai semua lingkungan eksternal melalui rantai ruang lingkup, tetapi lingkungan eksternal tidak dapat mengakses lingkungan internal (koneksi lingkungan linier, tertib → Cari rantai ruang lingkup ke atas ke variabel permintaan dan nama fungsi)
Parameter fungsi juga diperlakukan sebagai variabel
------
Perpanjang rantai ruang lingkup:
Beberapa pernyataan sementara dapat menambahkan variabel ke rantai ruang lingkup front-end (variabel dihapus setelah eksekusi kode)
1. Blok tangkapan dari pernyataan mencoba-tangkapan
2. dengan pernyataan
------
Javas tidak memiliki cakupan level blok
Di sini kita dapat dengan mudah membedakan antara ruang lingkup level blok dan ruang lingkup fungsi
Penjelasan terperinci di atas tentang variabel dan ruang lingkup JS adalah semua konten yang telah saya bagikan dengan Anda. Saya harap Anda dapat memberi Anda referensi dan saya harap Anda dapat mendukung wulin.com lebih lanjut.