Cú pháp cơ bản của ngôn ngữ JavaScript (JS), bao gồm các cách khai báo biến, các loại dữ liệu và cách viết mã lệnh. Show Cú pháp của JavaScript 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 JavaScript, các lệnh (còn gọi là các câu lệnh), được phân tách bằng một dấu chấm phẩy (;). Dấu cách, tab và ký tự dòng mới được gọi là khoảng trắng. Văn bản nguồn của các tập lệnh JavaScript được chuyển đổi thành một chuỗi các yếu tố đầu vào bao gồm các mã giao dịch, ký tự điều khiển, thuật ngữ dòng, nhận xét hoặc khoảng
trắng. ECMAScript cũng định nghĩa các từ khóa và chữ cái nhất định và có các quy tắc để “chèn tự động dấu chấm phẩy” ( Trong trang tài liệu HTML:
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. BiếnBạ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 Ví dụ: Khai báo biếnCó 3 kiểu khai báo trong JavaScript. varKhai 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 } letKhai 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 } constKhai 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 Evaluating variablesMột biến được khai báo với cú pháp 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à: 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 var input; if(input === undefined){ doThis(); } else { doThat(); } Giá trị var myArray = []; if (!myArray[0]) { myFunction(); } function myFunction() { alert('return false'); } Khi biến có giá trị = var a; a + 2 = NaN Khi bạn xử lý một biến var n = null; console.log(n * 32); // Will log 0 to the console Phạm vi biếnKhi bạn khai báo một biến bên ngoài của bất kỳ hàm nào, nó được gọi là một biến toàn cục, vì nó có sẵn cho bất kỳ mã nào khác trong tài liệu hiện tại. Khi bạn khai báo một biến trong một hàm, nó được gọi là một biến cục bộ, bởi vì nó chỉ có sẵn trong hàm đó. JavaScript trước ECMAScript 6 không có phạm vi câu lệnh khối; thay vào đó, một biến được khai báo trong một khối là cục bộ cho hàm (hoặc phạm vi toàn cục) mà khối nằm trong đó. Biến cẩu (Variable hoisting)Một điều khác thường về các biến trong JavaScript là bạn có thể tham chiếu đến một biến được khai báo sau, mà không mắc phải một ngoại lệ. Khái niệm này được gọi là
cẩu (hoisting); các biến trong JavaScript theo nghĩa “hoisted” hoặc được nâng lên đầu của hàm hoặc câu lệnh. Tuy nhiên, các biến chưa được khởi tạo sẽ trả về giá trị /** * 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"; })(); Do cẩu, tất cả các câu lệnh Biến toàn cụcBiến toàn cục là
thuộc tính thực tế của đối tượng toàn cục. Trong các trang web, đối tượng toàn cầu là Do đó, bạn có thể truy cập các biến toàn cầu được khai báo trong một cửa sổ hoặc khung từ một cửa sổ hoặc khung khác bằng cách chỉ định cửa sổ hoặc tên khung. Ví dụ: nếu biến được gọi là ConstantsBạn có thể tạo một hằng số chỉ đọc với từ khóa const prefix = '212'; Hằng số không thể thay đổi giá trị thông qua câu lệnh hoặc được khai báo lại trong khi tập lệnh đang chạy. Nó phải được khởi tạo thành một giá trị. Quy tắc phạm vi cho các hằng số giống như các quy tắc cho biến phạm vi khối
Bạn không thể khai báo hằng số có cùng tên với hàm hoặc biến trong cùng phạm vi. 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 } Tham khảo:
|