No1. Sintaks dan ketik
1. Definisi Deklarasi
Jenis variabel: var, tentukan variabel; Misalkan, tentukan variabel lokal dalam domain blok (lingkup); Const, tentukan konstanta baca saja.
Format Variabel: Mulailah dengan huruf, menggarisbawahi "_" atau $ simbol, sensitif case.
Penugasan Variabel: Nilai variabel yang dinyatakan tetapi tidak ditugaskan tidak terdefinisi saat digunakan. Menggunakan variabel yang tidak dideklarasikan secara langsung akan melempar pengecualian.
Variabel yang tidak ditugaskan dihitung: hasilnya adalah NAN. Misalnya:
var x, y = 1;
console.log (x + y); // Hasilnya adalah NAN, karena X tidak memiliki tugas.
2. Lingkup
Lingkup Variabel: Tidak ada bidang deklarasi blok sebelum ES6, dan variabel bertindak pada blok fungsi atau secara global. Misalnya, kode berikut masuk X sebagai 5.
if (true) {var x = 5;} console.log (x); // 5Lingkup variabel ES6: ES6 mendukung ruang lingkup blok, tetapi membutuhkan penggunaan Variabel Let untuk mendeklarasikan. Kode berikut mengeluarkan pengecualian.
if (true) {let y = 5;} console.log (y); // ReferenceError: y tidak ditentukan1234Variabel Float: Dalam metode atau kode global, ketika kita menggunakan variabel sebelum variabel hidup, kita tidak melempar pengecualian, tetapi mengembalikan tidak ditentukan. Ini karena JavaScript secara otomatis mengapung deklarasi variabel ke depan fungsi atau global. Seperti yang ditunjukkan dalam kode berikut:
/*** variabel global float*/console.log (x === tidak ditentukan); // log "true" var x = 3;/*** Metode variabel float*/var myvar = "nilai saya"; // cetak variabel hasil myvar adalah: tidak terdefinisi (function () {console.log (myvar); // undefinedvar myvar = "nilai lokal";}) (); Kode di atas setara dengan kode berikut: /*** variabel global float* /var x; console.log (x === tidak ditentukan); // log "true" x = 3;/*** Metode variabel float*/var myvar = "my value"; (function () {var myvar; console.log (myvar); // undefinedmyvar = "nilai lokal";}) ();Variabel Global: Di halaman, objek global adalah jendela, sehingga kita dapat mengakses variabel global melalui window.variable. Misalnya:
versi = "1.0.0"; console.log (window.version); // Output 1.0.0
No2. Struktur dan Jenis Data
1. Jenis data
6 Tipe Dasar: Boolean (Benar atau Salah), Null (JS Case Sensitive, Berbeda dari Null dan Null), tidak terdefinisi, angka, string, simbol (tanda unik dan tidak dapat diubah)
Jenis Objek: Objek.
Objek dan Fungsi: Objek sebagai wadah nilai dan fungsi sebagai proses aplikasi.
2. Konversi Data
Fungsi: Metode parseint dan parsefloat dapat digunakan untuk mengonversi string ke angka.
Parseint: Tanda tangan fungsi adalah parseint (string, radix), radix adalah sejumlah 2-36 yang mewakili basis numerik, seperti desimal atau heksadesimal. Hasil pengembalian adalah Integer atau Nan, misalnya, hasil output berikut adalah semua 15.
Parseint ("0xf", 16); parseint ("f", 16); parseint ("17", 8); parseint (021, 8); parseint ("015", 10); parseint (15.99, 10); arseint ("15.123", 10); parseint ("fxx1;" "11 "(" 15,123 ", 10); Parseint (" FXX1 ("15.123", 10); PARSEINT ("FXX1 (" PARSE ("PARSE (" 15), 10); 2); parseint ("15*3", 10); parseint ("15e2", 10); parseint ("15px", 10); parseint ("15px", 10); parseint ("15px", 10); parseint ("15px", 10); parseint ("15px", 10), parseint ("15px", 10); parseint ("15px", 10), Parseint ("Parse", 10); parseint ("15px", 10); 10); parseint ("15px", 10); parseint ("15px", 10); parseint ("15px", 10); parseint ("15px", 10);Parsefloat: Tanda tangan fungsi adalah parsefloat (string), dan hasilnya adalah angka atau nan. Misalnya:
parsefloat ("3.14"); // kembalikan angka parsefloat ("314e-2"); // kembalikan angka parsefloat ("lebih banyak karakter non-digit"); // Kembalikan nomor NAN3. Tekstualisasi tipe data
Jenis bertekstur: Array, boolean, poin mengambang, bilangan bulat, objek, regexp, string.
Kasus koma tambahan dalam array: ["singa" ,, "malaikat"], panjang 3, nilai [1] tidak jelas. ['rumah' ,, 'sekolah',], koma terakhir dihilangkan sehingga panjangnya 3. [, 'rumah' ,, 'sekolah'], panjang 4. ['rumah' ,, 'sekolah' ,,], panjang 4.
Integer Integer: Integer dapat dinyatakan sebagai desimal, oktal, heksadesimal, dan biner. Misalnya:
0, 117 dan -345 // desimal 015, 0001 dan -0O77 // Octal 0x1123, 0x00111 dan -0xf1a7 // hex 0b11, 0b0011 dan -0b11 1234 // biner binate: [(+| -)] [digit] [. Sebagai contoh: 3.1415926, -.123456789, -3.1e+12 (3100000000000), .1e -23 (1E -24)
Objek: Nilai akuisisi properti dari suatu objek dapat diperoleh melalui ". Atribut" atau "[nama atribut]". Misalnya:
var car = {manycars: {a: "saab", "b": "jeep"}, 7: "mazda"}; console.log (car.manycars.b); // jeepconsole.log (mobil [7]); // MazdaAtribut Objek: Nama atribut dapat berupa string atau string kosong, dan nama yang tidak valid dapat dimasukkan dalam kutipan. Nama kompleks tidak dapat diperoleh melalui., Tetapi dapat diperoleh melalui []. Misalnya:
var unusualpropertynames = {"": "string kosong", "!": "bang!"} console.log (unusualpropertynames. ""); // SyntaxError: StringConsole.log yang tidak terduga (UnusualPropertynames [""]); // an stringConsole.log yang kosong (tidak biasapropertynames.!); // sintakserror: token tak terduga! Console.log (unusualpropertynames ["!"]); // bang!Karakter transformasi: Hasil output string berikut berisi kutipan ganda karena simbol transformasi "/" "digunakan.
var quote = "Dia membaca/" Kremasi Sam McGee/"oleh RW Service."; Console.log (QUOTE); // Output: Dia membaca "kremasi Sam McGee" oleh RW Service.1.
Metode pemecahan garis string: Tambahkan "/" langsung di ujung string, seperti yang ditunjukkan pada kode berikut:
var str = "string /ini rusak /melintasi ganda /garis." Console.log (str); // String ini rusak di multipleline.
No3. Aliran kontrol dan penanganan kesalahan
1. Ekspresi blok
Fungsi: Blok ekspresi umumnya digunakan untuk mengontrol aliran, seperti IF, untuk, dan sementara. Dalam kode berikut, {x ++;} adalah deklarasi blok.
while (x <10) {x ++;}Tidak ada ruang lingkup domain blok sebelum ES6: sebelum ES6, variabel yang didefinisikan dalam blok sebenarnya dimasukkan dalam metode atau secara global, dan pengaruh variabel melebihi ruang lingkup cakupan blok. Misalnya, hasil eksekusi akhir dari kode berikut adalah 2, karena variabel yang dinyatakan dalam blok bertindak pada metode tersebut.
var x = 1; {var x = 2;} console.log (x); // output 2Setelah ES6, ada rentang domain blok: di ES6, kita dapat mengubah Deklarasi Domain Blok Var untuk dibiarkan, sehingga variabel hanya melingkupi rentang blok.
2. Penilaian logis
Nilai -nilai khusus dinilai salah: Salah, tidak terdefinisi, null, 0, nan, "".
Jenis Boolean dan Objek Boolean Sederhana: Ada perbedaan antara false dan benar dari tipe boolean sederhana dan false dan benar dari tipe boolean objek, dan keduanya tidak sama. Seperti dalam contoh berikut:
var b = boolean baru (false); if (b) // return trueif (b == true) // return false
No4. Penanganan pengecualian
1. Tipe Kehormatan
Sintaks Lempar Pengecualian: Lemparan Pengecualian dapat berupa jenis apa pun. Seperti yang ditunjukkan di bawah ini.
lempar "error2"; // Jenis string Throw 42; // Jenis nomor lempar true; // boolean type throw {tostring: function () {return "I'm a Object!"; }}; // Jenis ObjekPengecualian Kustom:
// Buat tipe objek UserExceptifunction UserException (pesan) {this.message = pesan; this.name = "UserException";} // Tulis ulang metode ToString untuk secara langsung mendapatkan informasi yang berguna saat melempar pengecualian UserException.prototype.tostring = function () {return this.name. entitas dan lempar itu melempar UserException baru ("Nilai terlalu tinggi");2. Sintaks
Kata kunci: Gunakan coba {} catch (e) {} akhirnya {} sintaks, mirip dengan sintaks C#.
Akhirnya Nilai Pengembalian: Jika akhirnya menambahkan pernyataan pengembalian, tidak peduli apa pun cobe.catch return, nilai pengembalian akhirnya kembali. Seperti yang ditunjukkan di bawah ini:
fungsi f () {coba {console.log (0); lempar "palsu"; } catch (e) {console.log (1); Kembali Benar; // Pernyataan pengembalian dijeda sampai akhirnya eksekusi selesai Console.log (2); // kode yang tidak akan dieksekusi} akhirnya {console.log (3); mengembalikan false; // timpa konsol return.log (4); // Kode yang tidak akan dieksekusi} // "Return False" dijalankan sekarang Console.log (5); // tidak dapat dijangkau} f (); // output 0, 1, 3; Mengembalikan falseAkhirnya menelan pengecualian: jika akhirnya ada pengembalian dan ada pengecualian dalam tangkapan. Pengecualian lemparan tidak akan ditangkap karena telah ditutupi oleh pengembalian yang akhirnya. Kode berikut terlihat seperti:
function f () {coba {lempar "BOGUS"; } catch (e) {console.log ('Tangkap batner "BOGUS"'); lempar e; // pernyataan lemparan dijeda sampai akhirnya eksekusi selesai} akhirnya {return false; // Overwrite the throw statement in try.catch} // "return false"}try { f();} catch(e) { // It will not be executed here because the throw in the catch has been overwritten by the return statement in finally console.log('caught outer "bogus"');}// Output// catch inner "bogus"Objek Kesalahan Sistem: Kita dapat langsung menggunakan kesalahan {name, pesan}, misalnya: lempar (kesalahan baru ('pesan'));
Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.