2.1 Pembolehubah dan kesakitan

Mari kita mulakan dengan yang paling menarik. JavaScript mempunyai pembolehubah, tetapi pembolehubah tersebut tidak mempunyai jenis. Sebarang pembolehubah boleh diberikan secara mutlak sebarang nilai. Kelihatan tidak berbahaya atau berguna sehingga anda memerlukan jenisnya.

Kata kunci digunakan untuk mengisytiharkan pembolehubah var:

var name;
var name = value;

Contoh bekerja dengan pembolehubah dalam JavaScript:

var a = 10, b = 20;
var c = a*a + b*b;

var s = "Diagonal equals:";
console.log( s + Math.sqrt(c));

Kod yang bagus dan jelas, bukan? Mungkin ini adalah kali terakhir dalam hidup anda apabila anda melihat kod JavaScript yang cantik dan boleh difahami. Ingat detik ini :)

2.2 Menaip dalam JavaScript

Seperti yang dinyatakan di atas, pembolehubah dalam bahasa JavaScript tidak mempunyai jenis. Tetapi nilai pembolehubah mempunyai jenis. Berikut ialah 5 jenis yang paling biasa dalam JavaScript:

# taip Contoh Penerangan
1 nombor
var pi = 3.14;
Mengandungi sebarang nombor
2 Tali
var s = "Hello!";
Mengandungi rentetan
3 Boolean
var result = true;
Mengandungi benar atau salah
4 tatasusunan
var arr = [1, 2, 3, 4, 5];
Mengandungi pelbagai elemen
5 Tarikh
var current = new Date();
Mengandungi tarikh
6 Objek
var o = {
   width: 100,
   height: 200
}
Mengandungi objek yang terdiri daripada kunci, pasangan nilai. Sesuatu yang serupa dengan HashMap di Jawa
7 fungsi
function sqr(var x) {
   return x*x;
}
Fungsi

Jenis kata kunci digunakan untuk menentukan jenis objek, contohnya:

var s = "134";
var x = (typeof s == "String") ? s*1 : s;

2.3 Fungsi dan pulangan

Dan sudah tentu JavaScript mempunyai fungsi. Tiada kelas, jadi fungsi boleh diisytiharkan di mana-mana dalam kod. Malah dalam fungsi lain. Format umum ialah:

function name(a, b, c) {
  // function code
   return result;
}

Fungsi tidak mempunyai jenis. Mengapa, jika tiada kawalan keserasian jenis dalam bahasa itu sendiri? Parameter fungsi mungkin juga tiada. Begitu juga arahan pulangan, yang mengembalikan nilai.

Apabila memanggil fungsi, anda boleh menghantar sebarang bilangan parameter dari sebarang jenis . Lebihan akan dibuang, yang hilang akan sama null.

Contoh fungsi:

function getValue(name)
{
    return this[name];
}
function setValue(name, value)
{
    this[name] = value;
}

2.4 Tatasusunan dalam JavaScript

Tatasusunan dalam JavaScript sangat serupa dengan tatasusunan dalam Java. Contoh:

var array = [1, 2, 3, 4, 5];
array[3] = array[2];
console.log (array[0]);

Mereka boleh mempunyai nilai apa-apa jenis, malah tatasusunan lain:

var array = [1, "Hello", 3.14, [4, 5] ];
array[3] = array[2];
console.log (array[0]);

Di samping itu, tatasusunan juga berkelakuan seperti koleksi - anda boleh menambah elemen secara dinamik padanya:

var array = [];
array.push(100);
array.push(101);
array.push(102);

array[1] = array[2];
console.log (array[0]);

2.5 Objek dalam JavaScript

Objek dalam JavaScript sangat serupa dengan HashMap dalam Java: ia mengandungi pasangan nilai kunci. Contoh:

var obj = {
 name: "Bill Gates",
 age: 67,
 company: "Microsoft"
};

console.log (obj.age);

Medan objek boleh diakses dalam dua cara berbeza:

var x = obj.age;
var x = obj["age"];

Seperti HashMap, medan boleh dibuat dan dipadamkan. Contoh:

var obj = {};
obj.name = "Bill Gates";
obj.age = 67;
obj.company = "Microsoft";

delete obj.age;  //remove field