Mengenai JavaScript, konsep pertama yang lebih penting adalah variabel, dan mekanisme kerja variabel adalah fitur dasar JavaScript. Faktanya, variabel adalah jenis pengidentifikasi. Artikel ini akan memperkenalkan variabel dan pengidentifikasi secara rinci
definisi
Identifier adalah nama yang digunakan untuk memberi nama variabel, fungsi, properti, dan parameter, atau menggunakannya sebagai penanda untuk posisi lompatan dalam pernyataan loop tertentu.
// variabel var identifikasi = 123; // properti (objek baru) .Identifier = 'test'; // fungsi dan parameter fungsi identifikasi (identifikasi1) {}; // lompat tag pengidentifikasi: untuk (var i = 0; i <5; i ++) {if (i == 3) {break identifikasi; }}Dalam kehidupan sehari -hari, beberapa hal diperbaiki dan beberapa hal berubah. Misalnya, nama dan ulang tahun seseorang sudah diperbaiki, tetapi suasana hati dan usianya akan berubah seiring waktu. Orang menyebut hal -hal yang mengubah variabel
Ketika program perlu menyimpan nilai untuk penggunaan di masa depan, itu ditetapkan ke variabel. Variabel adalah placeholder untuk menghemat nilai. Anda dapat memperoleh referensi ke nilai melalui nama variabel.
Aturan penamaan
Dalam artikel "Struktur Leksikon", kami memperkenalkan bahwa JavaScript adalah bahasa yang sensitif terhadap kasus. Seperti bahasa pemrograman lainnya, JavaScript mempertahankan beberapa pengidentifikasi untuk dirinya sendiri, dan kata -kata yang dicadangkan tidak dapat digunakan sebagai pengidentifikasi biasa.
[Catatan] Kata -kata yang dicadangkan termasuk kata kunci, kata -kata yang dilindungi masa depan, literal kosong dan literal boolean
Cadangan :: Kata kunci futurereservedword nullliteral booleanliteral
Nama pengidentifikasi JavaScript diizinkan berisi huruf, angka, tanda dolar dan garis bawah (tetapi karakter pertama tidak diizinkan menjadi angka)
// Demonstrasi Kesalahan 6num // Jumlah% jumlah tidak dapat digunakan di awal // Simbol khusus kecuali (_ $) tidak dapat digunakan di awal, seperti (% + /dll.) Jumlah + num // Simbol khusus kecuali (_ $) tidak dapat digunakan di awal, seperti (% + /dll.)
JavaScript memungkinkan huruf dan angka (termasuk Cina) di seluruh rangkaian karakter Unicode di pengidentifikasi. Oleh karena itu, pemrogram juga dapat menggunakan bahasa non-Inggris atau simbol matematika untuk menulis pengidentifikasi
var Tes Text = 'Test';
[Catatan] Untuk portabilitas dan kemudahan penulisan, kami biasanya tidak menggunakan karakter ASCII atau Unicode yang diperluas
Biasanya format unta adalah format yang disukai untuk penamaan pengidentifikasi, huruf pertama adalah huruf kecil, dan huruf pertama dari setiap kata yang tersisa adalah huruf besar.
var mymoodtoday = 'happy';
Untuk tipe data yang berbeda, JavaScript memiliki aturan penamaan pengidentifikasi konvensional
Tipe awalan contoh array (array) a aitems boolean (boolean) b biscomplete floating point number (float) fprice function (fungsi) fn fnhandler integer (integer) iiitemCount objek (objek) o oDiv1 ekspresi reguler (regexp) reemailCheck string (string) susername variabel susername susername susername susername susername susername susername susername susername susername susername susername susername susername susername susername susernam
Deklarasi Variabel
penyataan
Dalam JavaScript, Anda harus mendeklarasikan (menyatakan) sebelum menggunakan variabel. Variabel dinyatakan menggunakan kata kunci var (singkatan variabel).
var i; var sum;
Anda juga dapat mendeklarasikan beberapa variabel melalui kata kunci VAR
var i, sum;
Penugasan
Pengoperasian nilai penyimpanan ke dalam variabel disebut penugasan. Setelah variabel ditugaskan, kami mengatakan bahwa variabel berisi nilai ini
Proses menetapkan variabel untuk pertama kalinya disebut inisialisasi
Kita dapat menulis penugasan awal variabel bersama dengan deklarasi variabel
var message = 'hello'; var i = 0, j = 0, k = 0;
Jika variabel tidak ditentukan dalam pernyataan deklarasi var, meskipun variabel dinyatakan, nilai awalnya tidak terdefinisi sebelum menghemat nilai untuk itu
Pernyataan VAR juga dapat digunakan dalam untuk loop dan loop for-in, yang dapat lebih ringkas menyatakan variabel loop yang digunakan dalam sintaks loop
untuk (var i = 0; i <10; i ++) console.log (i);
Variabel dapat diberikan nilai saat dinyatakan, tetapi tidak mungkin ada operasi lain, seperti +=, -=, dll.
var a = 2; // Adalah benar var a+= 2; // salah var a = 2 ++; // salah, ++ hanya dapat digunakan untuk variabel, bukan konstanta
Pernyataan Ulangi
Legal dan tidak berbahaya untuk berulang kali menyatakan variabel menggunakan pernyataan VAR. Jika deklarasi diulangi dengan operasi penugasan, itu setara untuk menugaskan kembali nilainya.
Pernyataan yang hilang
Jika Anda mencoba membaca nilai variabel yang tidak dinyatakan, JavaScript akan melaporkan kesalahan
JavaScript memungkinkan deklarasi yang dihilangkan, yaitu, secara langsung menetapkan nilai ke variabel tanpa deklarasi sebelumnya, dan operasi penugasan akan secara otomatis mendeklarasikan variabel.
Namun, dalam mode ecmascript5 yang ketat, menetapkan nilai ke variabel yang tidak dideklarasikan akan menghasilkan kesalahan
<script> 'Gunakan ketat'; a = 5; console.log (a); </script>
Karakteristik variabel
Variabel JavaScript adalah tipe lemah (juga disebut tipe longgar), dan tipe longgar yang disebut digunakan untuk menyimpan semua jenis data.
Klasifikasi Bahasa Pemrograman: Bahasa yang diketik dinamis dan bahasa yang diketik statis. Bahasa yang diketik dinamis mengacu pada bahasa yang hanya melakukan pemeriksaan tipe data selama operasi. Dengan kata lain, ketika pemrograman dalam bahasa yang diketik dinamis, Anda tidak perlu menentukan tipe data untuk variabel apa pun. Bahasa akan merekam tipe data secara internal ketika pertama kali memberikan nilai ke variabel. JavaScript adalah perwakilan dari bahasa yang diketik secara dinamis.
Dalam JavaScript, Anda dapat memodifikasi jenis nilai sambil memodifikasi nilainya.
var message = 'hai'; pesan = 100; // valid, tetapi tidak disarankan
Ada dua titik untuk merangkum karakteristik jenis variabel yang longgar: satu adalah bahwa Anda tidak perlu menentukan tipe data untuk variabel saat menyatakan; Yang lainnya adalah Anda dapat memodifikasi tipe data saat menetapkan nilai.
Ruang lingkup variabel
Lingkup variabel, juga dikenal sebagai konteks eksekusi, adalah area yang mendefinisikan variabel ini dalam kode sumber program.
Lingkup dibagi menjadi ruang lingkup global dan ruang lingkup fungsi (juga disebut ruang lingkup lokal)
Lingkup global adalah lingkungan eksekusi yang paling periferal. Di browser web, lingkungan eksekusi global dianggap sebagai objek jendela. Semua variabel dan fungsi global dibuat sebagai properti dan metode objek jendela. Variabel global memiliki lingkup global dan didefinisikan di mana saja dalam kode JavaScript. Lingkup global tidak akan dihancurkan sampai aplikasi keluar, misalnya, menutup halaman web atau browser.
Variabel yang dideklarasikan dalam suatu fungsi hanya didefinisikan dalam tubuh fungsi. Mereka adalah variabel lokal dan ruang lingkupnya adalah lokal. Parameter fungsi juga merupakan variabel lokal, dan mereka hanya didefinisikan dalam badan fungsi. Setelah semua kode dalam lingkup fungsi dieksekusi, ruang lingkup dihancurkan, dan semua variabel dan definisi fungsi yang disimpan di dalamnya juga dihancurkan.
function test () {var message = 'hai';} test (); peringatan (pesan); // errorJika operator var dihilangkan, variabel global dibuat
function test () {message = 'hai';} test (); peringatan (pesan); // 'hai'Meskipun menghilangkan operator VAR dapat mendefinisikan variabel global, tidak disarankan. Variabel global yang didefinisikan dalam ruang lingkup lokal sulit dipertahankan, dan jika operator VAR sengaja diabaikan, itu juga akan menyebabkan kebingungan yang tidak perlu karena variabel yang sesuai tidak akan segera didefinisikan. Menetapkan nilai ke variabel yang tidak dideklarasikan dalam mode ketat akan menyebabkan kesalahan referensi di atas
Dalam badan fungsi, prioritas variabel lokal lebih tinggi dari variabel global dengan nama yang sama. Jika variabel lokal yang dinyatakan dalam fungsi atau variabel variabel dan global dalam parameter fungsi digandakan, maka variabel global dicakup oleh variabel lokal.
var scope = 'global'; function checkscope () {var scope = 'local'; return scope;}; checkscope (); // 'lokal'Promosi Pernyataan (Pengangkatan)
Ruang lingkup level blok
Lingkup level blok berarti bahwa setiap bagian kode dalam kawat gigi keriting memiliki ruang lingkupnya sendiri, sedangkan JavaScript tidak memiliki ruang lingkup tingkat blok. JavaScript hanya memiliki ruang lingkup fungsi: Variabel didefinisikan dalam tubuh fungsi yang menyatakannya dan tubuh apa pun yang bersarang di badan fungsi ini.
Ini berarti bahwa variabel bahkan tersedia sebelum dinyatakan. Fitur JavaScript ini secara informal disebut Hoisting. Semua variabel yang dinyatakan dalam fungsi JavaScript (tidak ada penugasan yang terlibat) yang diajukan ke bagian atas badan fungsi.
[Catatan] Faktanya, selain promosi variabel, fungsi juga dipromosikan, dan akan ada perkenalan terperinci ke bagian fungsi
var scope = 'global'; function f () {console.log (scope); // var scope tidak terdefinisi = 'lokal'; console.log (scope); // 'lokal'} // Setelah deklarasi variabel dipromosikan, itu setara dengan kode berikut var scope = 'global'; fungsi f () {var scope; console.log (scope); // scope tidak terdefinisi = 'lokal'; console.log (scope); // 'lokal'}Tidak ada ruang lingkup level blok di JavaScript, sehingga beberapa programmer sengaja menempatkan deklarasi variabel di bagian atas badan fungsi. Kode sumber ini jelas mencerminkan ruang lingkup variabel nyata.
Variabel atribut
Saat mendeklarasikan variabel global JavaScript, itu sebenarnya mendefinisikan properti dari jendela objek global
Ketika suatu variabel dinyatakan menggunakan var, variabel yang dibuat tidak dapat dikonfigurasi, yang berarti bahwa variabel tidak dapat dihapus melalui operator hapus
var truevar = 1; console.log (truevar, window.truevar); // 1 1delete truevar; // falseconsole.log (truevar, window.truevar); // 1 1
Jika Anda tidak menggunakan mode ketat dan menetapkan nilai ke variabel yang tidak diumumkan, JavaScript akan secara otomatis membuat variabel global. Variabel yang dibuat dengan cara ini adalah sifat normal yang dapat dikonfigurasi dari objek global dan dapat menghapusnya
window.fakevar1 = 10; console.log (fakevar1, window.fakevar1); // 10 10 this.fakevar2 = 20; console.log (fakevar2, window.fakevar2); // 20 20fakevar = 30; console.log (fakevar, window.fakevar); // 30 30Delete window.fakevar1; // truedelete this.fakevar2; // truedelete fakevar; // trueconsole.log (fakevar1, window.fakevar1); // melaporkan kesalahan konsol.log (fakevar2, window.fakevar2); // Laporkan error console.log (fakevar, window.fakevar); // Laporkan kesalahan
Variabel global JavaScript adalah properti dari objek global, yang wajib dalam ecmascript. Variabel lokal diperlakukan sebagai atribut suatu objek yang terkait dengan panggilan fungsi. ECMascript3 disebut objek panggilan, dan ecmascript5 disebut catatan lingkungan deklaratif. JavaScript memungkinkan penggunaan kata kunci ini untuk merujuk ke objek global, tetapi tidak ada cara untuk merujuk ke objek yang disimpan dalam variabel lokal. Properti unik ini menyimpan objek variabel lokal adalah implementasi internal yang tidak terlihat oleh kami
Tata bahasa JavaScript dasar di atas - pemahaman yang komprehensif tentang variabel dan pengidentifikasi adalah semua konten yang saya bagikan dengan Anda. Saya harap Anda dapat memberi Anda referensi dan saya harap Anda dapat mendukung wulin.com lebih lanjut.