CHƯƠNG 2: CÚ PHÁP VÀ CÁC KIỂU DỮ LIỆU TRONG JAVASCRIPT ( PHẦN 1)


2.1. KHÁI NIÊM CƠ BẢN

Cú pháp của JavaScript (JS) phần lớn được vây mượn từ Java, nhưng JS cũng chịu ảnh hưởng từ cú pháp của các ngôn ngữ lập trình khác như Awk, Perl và Python.
JavaScript là ngôn ngữ lập trình sử dụng chuẩn kí tự Unicode và khi viết cũng cần phải lưu ý phân biệt chữ HOA và chữ thường (case-sensitive).

Trong JavaScirpt. Chương trình gọi các lệnh và tách dời chúng bằng dấu chấm phẩn ( ; ). Khoảng trống, nhãn và ký tự sang dòng được gọi là khoảng trắng.

Văn bản nguồn của Javascript đươc phân tích từ bên trái sang phải vào chuyển đổi tới dãy số của thành phần nguôn vào, đó là mã thông báo, điều khiển dữ liệu, dòng ký tự kết thúc, ghi chú hoặc khoảng trắng.  ECMAScript luôn định nghĩa từ khóa    chữ cái theo nguyên tắc tự động trèn dây chấm phẩy ( ; ) ddeeer kết thúc lệnh. Tuy nhiên, Chúng ta nên luôn luôn thêm dấu chấm phẩy ( ; ) để kết thúc  lệnh của bạn để tránh ảnh hưởng đến website.

2.2.Ghi chú(  Comments)

 

Cú pháp của comments thì ... giống với C++ và một số ngôn ngữ lập trình khác:

// a one line comment <-- đây là cách comment trên 1 dòng
 
/* this is a longer, cho những dòng dài hoặc nhiều dòng
   multi-line comment. hãy sử dụng kiểu comment này
 */
 
/* You can't, however /* nest comments */ SyntaxError (lỗi cú pháp) */

(Không thể lồng 1 comment trong 1 comment, điều này sẽ gây ra lỗi). Bởi vì:
 /* khi bạn mở 1 comment, /* mở comment này 
được tính là 1 phần nằm trong phần comment của bạn, nhưng
khi gặp 1 đóng comment */ <-- lập tức chương trình sẽ hiểu
 cả đoạn trên là một comment.


2.3 Khai báo biến


Có 3 kiểu khai báo trong JavaScript.

Var : Khai báo 1 biến có phạm vi truy cập xuyên suốt function chứa nó.

function foo() { 
  var x = 10; 
  if (true) { 
   var x = 20; // x ở đây cũng là x ở trên
   console.log(x); // in ra 20 
  } 
   console.log(x); // vẫn là 20 
}

Let : Khai báo 1 biến chỉ có thể truy cập được trong block bao quanh nó.

function foo() {
  let x = 10;
  if (true) {
    let x = 20; // x này là x khác rồi đấy
    console.log(x); // in ra 20
  }
  console.log(x); // in ra 10
}

Const : Khai báo 1 hằng số - là một giá trị không thay đổi được trong suốt quá trình chạy.

const A = 5; 
A = 10; // Lỗi Uncaught TypeError: Assignment to constant variable

2.3.1. BIẾN

Bạn sử dụng biến như là tên tượng trưng cho các giá trị trong chương trình. Tên biến được gọi là identifiers, tuân theo những quy tắc nhất định.

Tên biến phải bắt đầu bằng một 'chữ cái', kí tự gạch dưới (_), hoặc kí tự dollar ($); Bạn có thể sử dụng chuẩn ISO 8859-1 hoặc các kí tự Unicode như å và ü trong tên biến, thậm chí cả các kí tự dạng Unicode escape sequences.

Ví dụ: Number_hits, temp99, and _name.

Một biến được khai báo với cú pháp var hoặc let mà không có giá trị khởi tạo, sẽ có giá trị là undefined.

Khi truy cập vào một biến chưa được khai báo, bạn sẽ nhận được kết quả là: ReferenceError.

var a;
console.log("The value of a is " + a); // logs "Giá trị của a là undefined"
console.log("The value of b is " + b); // throws ReferenceError exception

Bạn có thể sử dụng undefined  để xác định một biến có giá trị hay không? Dưới đây là một ví dụ, biến input không được gán giá trị, vậy câu điều kiện if là return true và không chạy vào else.

var input;
if(input === undefined){
  doThis();
} else {
  doThat();
}

Giá trị undefined có thể coi là fasle khi sử dụng trong đối tượng cụ thể, như ví dụ dưới đây, chương trình sẽ chạy function myFunction vì myArray[0] = undefined trả về false.

var myArray = [];
if (!myArray[0]) {
  myFunction();
}
 
function myFunction() {
  alert('return false');
}

Khi biến có giá trị = undefined thực hiện phép toán với biến có giá trị cụ thể hoặc hằng số sẽ cho ra giá trị  = NaN (not a number).

var a;
a + 2 = NaN

Khi bạn đánh giá biến có giá trị null, giá trị null sẽ hoạt động như giá trị 0 trong môi trường số và mang giá trị false trong môi trường  boolean. Nhìn ví dụ bên dưới:

var n = null;
console.log(n * 32); // Will log 0 to the console


2. 3.2. Phạm vị của Biến

Khi bạn khai báo biến bên ngoài một vài hàm thì chúng được gọi là biến toàn cầu, bởi vì chúng có giá trị tới một vài mã trong trong tài liệu hiện hành, còn khi bạn khai báo biến trong hàm, chúng sẽ được gọi ngay trong hàm đó, bởi vì chúng chỉ có giá trị duy nhất trong hàm đó.

ở Javascript trước bản ECMAScript 6 không có phạm khi khối lệnh ; đúng hơn,  biến được khai báo trong khối là vị trí trong hàm đó ( hoặc phạm vi global), nó là khối nằm trong.
Nhìn mã có ở vị dụ bên dưới ta có log 5, bởi vì phạm vi của x là trong hàm ( hoặc môi trường global) khi x được khai báo, không phải là block, nó ở trong mệnh câu lệnh if.

if (true) {
  var x = 5;
}
console.log(x);  // 5

Nhưng khi chúng ta sử dụng từ khóa let để khai báo biến trong ECMAScript 6 chúng ta sẽ nhìn thấy sẹ thay đổi như ví dụ bên dưới:

if (true) {
  let y = 5;
}
console.log(y);  // ReferenceError: y is not defined

2. 3.3: VARIABLE HOISTING ( Chuyển biến lên trên cùng )

Đáng chú ý khác của biên trong Javascript là bạn có thể tham chiều tới biến và khai báo chúng sau, Không có ngoại lệ. Khái niệm này chúng ta được biết tới như hoisting; biến trong Javascript trong sự thông minh của “hoisted” hoặc đưa chúng lên đỉnh hàm của câu lệnh. Tuy nhiên, khi biến chưa được khởi tạo chúng sẽ được trả về giá trị là undefined.

/**
 * Example 1
 */
console.log(x === undefined); // logs "true"
var x = 3;
 
/**
 * Example 2
 */
// will return a value of undefined
var myvar = "my value";
 
(function() {
  console.log(myvar); // undefined
  var myvar = "local value";
})();

Ví dụ trên có thể được làm giáng tỏ giống như:

/**
 * Example 1
 */
var x;
console.log(x === undefined); // logs "true"
x = 3;

/**
 * Example 2
 */
var myvar = "my value";

(function() {
  var myvar;
  console.log(myvar); // undefined
  myvar = "local value";
})();

Bởi vì hoisting, tất cả các lệnh var trong hàm có thể nên được đặt càng gần đỉnh càng tốt. Đây là thói quen tốt nhất để tạo nên sự rõ rang cho đoạn mã.

2.3.4. BIẾN TOÀN CỤC ( Global)

Biến toàn cục là trong thuộc tính thực tế của đối tượng global. Trong trang web đối tượng toàn cục là window, bạn có thể cài đặt đường dẫn tới biến toàn cục khi sử dụng cáu trúc biến window.

Vì vậy, ạn có thể truy cập biến toàn cục khi khai báo chúng trong 1 window hoặc frame từ một window khác, hoặc frame bởi chỉ rõ window hoặc tên frame.

Ví dụ, nếu gọi biến phoneNumber khai báo trong doucument, bạn có thể tham chiếu tói biến này từ iframe như parent.phoneNumber.

2.3. 5. HẰNG SỐ ( CONSTANTS)

Bạn có thể tạo hằng số với từ khóa const. Cấu trúc về định nghĩa hằng cũng giống như định nghĩa biens, Chúng được bắt đầu bằng một chữ cái, dâu gạch chân hoặ ký từ $ và có nội trong dãy alphabetic, số hay dấu ghạch dưới.

const prefix = '212';

Hằng số không thay đổi giá trị hoặc khai báo lại trong khi chạy đoạn mã mà lấy giá trị đầu.
Quy tắc phạm vi của hằng số cũng giống như phạm vi của biến khai báo với let. Nếu từ khóa const được bỏ qua, thì chúng sẽ được nhận diện như là một biến.

Bạn không thể khai bán hằng với tên giống như hàm hay biến trong cùng phạm vị. Ví dụ:

// THIS WILL CAUSE AN ERROR
function f() {};
const f = 5;

// THIS WILL CAUSE AN ERROR ALSO
function f() {
  const g = 5;
  var g;

  //statements
}


<-Tiếp Chương 2 phần 2 - >                               <- Quay về ngôn ngữ JavaScirpt->


lien hệ nguyễn văn đông

BÀI LIÊN QUAN

. 528126479605873674

REAL ESTATE IN VIETNAM

item