Javascript framework
Để đọc bài viết này, bạn cần có các kiến thức cơ bản về DOM và Javascript, đặc biệt là phần hướng đối tượng trong Javascript.
Nếu bạn là 1 web developer, bạn hẳn đã dùng Javascript trong các trang web của mình, chủ yếu để làm chất keo gắn kết các thành phần của giao diện. Tuy nhiên, Javascript còn có nhiều tính năng hướng đối tượng hơn bạn biết. Việc các trình duyệt bắt đầu hỗ trợ các bộ chức năng ngày càng chuẩn của Javascript và DOM đã mở ra khả năng viết các đoạn code phức tạp và hữu dụng hơn để chạy trên máy khách. Điều đó đã tạo nên hiện tượng AJAX.
Khi bắt đầu học cách viết các ứng dụng mang đậm tính AJAX, ta sẽ nhận thấy Javascript mà ta đã từng biết chỉ là phần nhỏ của tảng băng trôi. Javascript giờ đây được sử dụng không chỉ để phục vụ cho vài nhiệm vụ lặt vặt của giao diện như kiếm định thông tin nhập, mà đã trở nên cao cấp và phân lớp hơn rất nhiều, như một ứng dụng desktop thực sự. Ta có thể thấy các thư viện lớp, mô hình đối tượng, hệ thống phân cấp, các kiểu mẫu, và rất nhiều thứ khác mà ta chỉ thấy trong các code phía máy chủ. Chúng ta sẽ cần nâng cao kỹ năng Javascript của mình nhiều hơn nữa để viết được các ứng dụng kiểu mới. Nếu bạn muốn sử dụng các bộ thư viện Javascript như Prototype.js, Scriptaculous, moo.fx, Behaviour, YUI,..., rốt cuộc bạn sẽ vẫn phải đọc các code JS. Có thể do bạn muốn tìm hiểu họ làm như thế nào, bạn tò mò ưa khám phá, hoặc thông thường bởi đó là cách duy nhất giúp bạn biết làm thế nào để sử dụng chúng, vì tài liệu hướng dẫn dường như không được quan tâm đúng mức với hầu hết các bộ thư viện trên. Dù lý do là gì thì bạn cũng sẽ đối mặt với một số kỹ thuật khá xa lạ và... rùng rợn nếu chưa từng được biết tới những thứ gì tương tự .
Mục đích của bài viết này là giải thích chính xác các kiểu cấu trúc mà đa số chúng ta còn xa lạ.
JavaScript Object Notation (JSON) là một trong những từ được nhắc đến nhiều trong AJAX. JSON, nói nôm na là một cách thức khai báo đối tượng trong Javascript. VD:
Code: var myPet = { color: 'black', legCount: 4, communicate: function(repeatCount){ for(i=0;i<repeatCount;i++) alert('Woof!'); } };
Ở đây, ta tạo tham chiếu tới một đối tượng với 2 thuộc tính (color và legCount) và 1 phương thức (communicate). Mỗi thành phần của đối tượng được thể hiện bởi tên, theo sau bởi dấu : và sau đó là định nghĩa. Thuộc tính được gán giá trị, còn phương thức được gán một hàm ẩn danh (anonymous). Sau khi đối tượng được tạo và gán cho biến myPet, ta có thể sử dụng nó như sau:
Code:
alert('my pet is ' + myPet.color);
alert('my pet has ' + myPet.legCount + ' legs'); //if you are a dog, bark three times:
myPet.communicate(3);
Bạn sẽ thấy JSON được sử dụng rất nhiều trong JS: làm đối số cho hàm, giá trị trả về, server response, v.v...