JavaScript định nghĩa các kiểu dữ liệu cơ bản bao gồm: kiểu số, kiểu chuỗi, kiểu luận lí, kiểu object, kiểu mảng, null, undefined.
Trình thông dịch JavaScript chỉ có thể tính toán giá trị của một biểu thức một khi kiểu dữ liệu của các toán hạng là như nhau. Do đó, đôi lúc bạn cần phải “ép kiểu” cho các toán hạng trong các biểu thức để tránh các hiệu ứng lề.
Chú ý rằng trong Javascript, có phân biệt chữ thường và chữ hoa.
3.2. Khai báo biến
Sử dụng từ khóa var để khai báo biến. JavaScript đòi hỏi các biến phải được khai báo trước khi sử dụng. Ví dụ:
140
var count; // a single declaration.
var count, amount, level; // multiple declarations with a single var keyword.
var count=0, amount=100; //variable declaration and initialization in 1 statement.
Nếu một biến không được khởi tạo trong lúc khai báo, nó sẽ lấy giá trị là undefined.
Qui tắc đặt tên biến:
• Phải bắt đầu bằng 1 kí tự chữ hoặc dấu gạch dưới “_”.
• Theo sau chỉ là hoặc kí tự chữ, hoặc là kí tự số, hoặc là dấu gạch dưới.
• Không được trùng với các từ dành riêng ví dụ như từ khóa, ...
Tạo dữ liệu kiểu mảng
• Ví dụ sau dùng để khai báo một mảng một chiều có 10 phần tử: var A = new Array(10). Ta dùng toán tử new và Array()
constructor.
• Phần tử bắt đầu của mảng một chiều là phần tử có chỉ số là 0. Để truy xuất tới phần tử thứ i của mảng một chiều A, ta dùng như sau: A[i].
3.3. Lệnh điều kiện
Có hai dạng lệnh điều kiện là if/else và switch
• Các cú pháp của lệnh if/else if (<biểu thức điều kiện>) { ... <Lệnh i>; ... } else { ... <Lệnh i>; ... }
Lê Đình Duy - ĐH KHTN Tp. HCM Email: ledduy@ieee.org
Ví dụ
// The smash() function is defined elsewhere in the code. // Boolean test of whether newShip is true.
if (newShip)
smash(champagneBottle,bow);
// In this example, the test fails unless both conditions are true. if (rind.color == "deep yellow " && rind.texture == "large and small wrinkles")
{
theResponse = ("Is it a Crenshaw melon?"); }
// In this example, the test succeeds if either condition is true. var theReaction = "";
if ((dayOfWeek == "Saturday") || (dayOfWeek == "Sunday")) {
theReaction = ("I'm off to the beach!"); }
else {
theReaction = ("Hi ho, hi ho, it's off to work I go!"); } • Cú pháp của lệnh switch switch (<tên biến>) { case <giá trị1>: ... break; case <giá trị i>:
... break; default: ... break; } Ví dụ function MyObject() { ... } switch (object.constructor){ case Date: ... case Number: ... case String: ... case MyObject: ... default: ... } 3.4. Lệnh lặp
Có bốn dạng lệnh lặp là while, do/while, for, for/in.
• Các cú pháp của lệnh while while (<biểu thức điều kiện>) { ... <Lệnh i>; ... } Ví dụ var x = 0;
while ((x != 42) && (x != null)) {
x = window.prompt("What is my favourite number?", x); }
if (x == null)
window.alert("You gave up!"); else
window.alert("Yep - it's the Ultimate Answer!");
• Các cú pháp của lệnh do/while do { ... <Lệnh i>; ... while (<biểu thức điều kiện>) Ví dụ var x = 0; do {
x = window.prompt("What is my favourite number?", x); } while ((x != 42) && (x != null));
143
if (x == null)
window.alert("You gave up!"); else
window.alert("Yep - it's the Ultimate Answer!");
• Các cú pháp của lệnh for
for ( <biểu thức khởi tạo>;<biểu thức điều kiện>; <biểu thức thay đổi>){
...
}
Ví dụ
var howFar = 10; // Sets a limit of 10 on the loop.
// Creates an array called sum with 10 members, 0 through 9. var sum = new Array(howFar);
var theSum = 0; sum[0] = 0;
// Counts from 0 through 9 in this case.
for(var icount = 0; icount < howFar; icount++) { theSum += icount;
sum[icount] = theSum; }
// This isn't executed at all, since icount is not greater than howFar
var newSum = 0;
for(var icount = 0; icount > howFar; icount++) { newSum += icount;
}
var sum = 0;
// This is an infinite loop.
for(var icount = 0; icount >= 0; icount++) { sum += icount; }
3.5. Hàm
Khai báo hàm
function <tên hàm>(<danh sách các tham số>){
...
}
Ví dụ
function add(x, y) {
return(x + y); //Perform addition and return results. }
144