Membaca artikel ini membutuhkan pengalaman pemrograman dalam bahasa lain.
Sebelum mulai belajar
Sebagian besar bahasa pemrograman memiliki bagian yang baik dan bagian yang buruk. Artikel ini hanya berbicara tentang bagian yang baik dari JavaScript, karena:
1. Hanya belajar bagian terbaik dapat mempersingkat waktu belajar
2. Kode yang ditulis lebih kuat
3. Kode yang ditulis lebih mudah dibaca
4. Kode yang ditulis lebih mudah dipertahankan
Tipe yang lemah dan kuat
Secara umum, semakin awal Anda memperbaiki bug, semakin sedikit harga yang Anda bayar untuk itu. Kompiler bahasa yang sangat diketik dapat memeriksa kesalahan tertentu pada waktu kompilasi. JavaScript adalah bahasa tipe lemah, dan penerjemahnya tidak dapat memeriksa kesalahan jenis, tetapi praktik menunjukkan bahwa:
1. Kesalahan yang sangat diketik dapat dihindari bukanlah kesalahan kritis tersebut
2. Jenis lemah dapat membawa fleksibilitas tanpa harus menanggung beban tipe yang kuat
Standar terkait JavaScript
Standar ECMA-262 mendefinisikan bahasa ECMascript. JavaScript dan ActionScript seperti yang kita kenal semuanya didasarkan pada ecmascript. Saat ini, arus utama menggunakan ECMA-262 versi 5, dan mesin V8 Google adalah implementasi dari ini.
Halo javascript
JavaScript adalah bahasa skrip yang mengharuskan juru bahasa untuk menafsirkan dan mengeksekusi. Anda dapat menjelaskan JavaScript di browser atau langsung menggunakan Node.js, yang mengintegrasikan mesin JavaScript Google V8. Karena Node.js sangat nyaman digunakan, saya menggunakan Node.js di sini untuk menjelaskan eksekusi JavaScript. Sekarang lihat program JavaScript pertama:
Salinan kode adalah sebagai berikut:
// test.js
console.log ("halo javascript");
Jalankan program ini:
Salinan kode adalah sebagai berikut:
node test.js
tata bahasa
Komentar
JavaScript menggunakan metode anotasi yang sama dengan C ++, // untuk anotasi baris tunggal, / * * / untuk anotasi multi-line.
Jenis Angka
JavaScript hanya memiliki satu jenis tipe numerik, yang merupakan angka floating point 64-bit. Jenis angka memiliki dua nilai khusus, NAN dan Infinity. Arti Nan bukan angka (bukan angka). Gunakan fungsi isnan untuk memeriksa apakah itu NAN. Nilai Infinity berarti Infinity. Dalam objek matematika, ada serangkaian metode untuk memanipulasi angka, misalnya: Metode matematika. Floor digunakan untuk membulatkan.
Rangkaian
String literal dapat dibungkus dalam kutipan tunggal atau ganda, dan karakter yang dilarikan diri digunakan (tidak berbeda dari banyak bahasa lain). Setiap karakter dalam JavaScript adalah dua byte, yang menggunakan set karakter Unicode. String memiliki atribut panjang:
Salinan kode adalah sebagai berikut:
"Halo" .length // nilainya 5, perhatikan bahwa itu bukan "halo" .length ()
String tidak dapat diubah (seperti Lua). Selain atribut panjang yang disebutkan di sini, ada beberapa metode, seperti:
Salinan kode adalah sebagai berikut:
'cat'.topercase () ===' Cat '
Penyataan
Pernyataan VAR digunakan untuk mendeklarasikan variabel lokal, jika tidak, variabel adalah variabel global, dan nilai variabel yang tidak diinisialisasi tidak terdefinisi:
Salinan kode adalah sebagai berikut:
fungsi f () {
var localvar = 123;
GlobalVar = 456;
var i; // Nilai i tidak ditentukan
};
F();
Console.log (GlobalVar); // OKE
console.log (localvar); // Kesalahan, LocalVar tidak didefinisikan
Satu set pernyataan yang dibungkus oleh {} disebut blok pernyataan. Tidak seperti bahasa lain, fungsi dalam JavaScript tidak akan membuat lingkup baru, misalnya:
Salinan kode adalah sebagai berikut:
{
var v = 123;
}
console.log (v); // OKE
Jika pernyataan
Salinan kode adalah sebagai berikut:
if (ekspresi)
penyataan
atau
Salinan kode adalah sebagai berikut:
if (ekspresi)
Pernyataan1
kalau tidak
pernyataan2
atau
Salinan kode adalah sebagai berikut:
if (ekspresi1)
Pernyataan1
lain jika (ekspresi2)
pernyataan2
lain jika (ekspresi3)
Pernyataan3
kalau tidak
pernyataan4
Pernyataan IF memutuskan untuk mengeksekusi atau melewatkan pernyataan tertentu dengan menilai bahwa nilai ekspresi itu benar atau salah. Dalam JavaScript, nilai -nilai berikut ini salah (nilai lain benar):
1. False
2.Null
3.Sah
4. String kosong
5.0
6.nan
Pernyataan dalam IF bisa berupa pernyataan atau blok pernyataan.
Pernyataan beralih
Salinan kode adalah sebagai berikut:
switch (n) {
Kasus 1: // jika n sama dengan 1
// Jalankan blok kode
merusak;
Kasus 2: // jika n sama dengan 2
// Jalankan blok kode
merusak;
default: // jika n bukan 1 atau 2
// Jalankan blok kode
merusak;
}
Di sini break digunakan untuk keluar dari pernyataan loop atau ganti pernyataan. Dalam JavaScript, ada dua operator yang membandingkan apakah dua nilai sama:
1. == (sesuai dengan! = Operator), sama, dan kedua jenis operan berbeda. Operator ini mencoba mengonversi jenis operan sebelum membandingkan, misalnya:
Salinan kode adalah sebagai berikut:
var x = 1;
x == 1; // BENAR
x == "1"; // BENAR
2. === (sesuai dengan! == Operator), yang sepenuhnya sama, membandingkan dua operan, dan tidak melakukan konversi tipe operan, misalnya:
Salinan kode adalah sebagai berikut:
var x = 1;
x === 1; // BENAR
x === "1"; // PALSU
Perlu dicatat bahwa NAN dan nilai apa pun tidak sama. Jika x adalah Nan, maka x! == x (hanya berlaku untuk NAN). Kami dapat mengimplementasikan fungsi ISNAN seperti ini:
Salinan kode adalah sebagai berikut:
fungsi isnan (n) {
return n! == n;
}
Pernyataan sakelar di atas dikonversi menjadi pernyataan IF sebagai:
Salinan kode adalah sebagai berikut:
if (n === 1)
// ...
lain jika (n === 2)
// ...
kalau tidak
// ...
white dan do-while pernyataan
Salinan kode adalah sebagai berikut:
While (ekspresi)
penyataan
Jika ekspresi benar, ulangi pernyataan sampai ekspresi salah.
Salinan kode adalah sebagai berikut:
Mengerjakan
penyataan
sementara (ekspresi);
Mirip dengan loop sementara, itu hanya menjalankan pernyataan terlebih dahulu dan kemudian memeriksa ekspresi bersyarat.
untuk pernyataan
Salinan kode adalah sebagai berikut:
untuk (inisialisasi; tes; kenaikan)
penyataan
Pertama, inisialisasi dieksekusi sekali (biasanya digunakan untuk menginisialisasi variabel loop), kemudian uji kondisi uji (biasanya digunakan untuk menguji variabel loop), jika kondisi pengujian salah, loop berhenti, jika tidak pernyataan dieksekusi, dan kemudian bertambah (biasanya digunakan untuk memperbarui variabel loop), dan kemudian uji kondisi pengujian dilakukan, loop terus berlanjut. Contoh Penggunaan:
Salinan kode adalah sebagai berikut:
untuk (var i = 0; i <5; ++ i) {
console.log (i);
}
Bentuk lain untuk digunakan untuk menyebutkan semua nama atribut suatu objek:
Salinan kode adalah sebagai berikut:
untuk (variabel dalam objek)
penyataan
contoh:
Salinan kode adalah sebagai berikut:
var obj = {
A: 1,
B: 2,
C: 3
};
untuk (nama var dalam obj)
console.log (nama);
Perlu dicatat bahwa kami menggunakan metode HasownProperty untuk memeriksa apakah nama properti dari objek atau ditemukan dalam rantai prototipe (rantai prototipe, prototipe akan diperkenalkan dalam artikel berikutnya):
Salinan kode adalah sebagai berikut:
untuk (var di obj) {
if (obj.hasownproperty (var)) {
// ...
}
}
pernyataan pengembalian
Pernyataan pengembalian digunakan untuk membuat fungsi mengembalikan nilai. Jika fungsi tidak secara eksplisit menggunakan pengembalian, maka ia kembali tidak ditentukan:
Salinan kode adalah sebagai berikut:
fungsi f () {}
var v = f (); // v === Tidak ditentukan
?: Operator bersyarat (satu -satunya operator terner di javascript)
?: Operator bersyarat ada dalam banyak bahasa pemrograman. Ketika operan pertama benar, operator mengembalikan nilai operan kedua, jika tidak, nilai operan ketiga dikembalikan. Contoh:
Salinan kode adalah sebagai berikut:
fungsi abs () {
mengembalikan x> 0? x: -x;
}
Jenis operator
Operator TypeOF digunakan untuk mendapatkan jenis variabel, dan nilai pengembaliannya meliputi:
1.'number '
2.'string '
3.'Boolean '
4. 'Diklefinasikan'
5. 'fungsi'
6.'Object '
Hasil yang dikembalikan oleh tipe khusus null adalah 'objek'. Contoh tentang TypeOf:
Salinan kode adalah sebagai berikut:
var a = typeof 'hello'; // a === 'string'
var b = typeof null; // b === 'objek'
+ Operator
Operator + dapat digunakan dalam JavaScript untuk operasi tambahan atau gabungan string:
Salinan kode adalah sebagai berikut:
var pesan = 'halo' + 'dunia'; // pesan === 'HelloWorld'
&& dan || operator
Operator && mengembalikan nilai operan pertama ketika operan pertama salah, jika tidak, ia mengembalikan nilai operan kedua.
|| Operator mengembalikan nilai operan pertama ketika operan pertama benar, jika tidak, ia mengembalikan nilai operan kedua.
Salinan kode adalah sebagai berikut:
var a = 1 && true; // a === Benar
var b = 1 || PALSU; // b === 1
|| Idiom:
Salinan kode adalah sebagai berikut:
name = name || 'tidak dikenal'; // Atur nilai default 'tidak diketahui' untuk nama