Tìm hiểu về Collection of Record trong JavaScript Trong bài viết trước, chúng tôi đã
Số trang: 13
Loại file: pdf
Dung lượng: 197.00 KB
Lượt xem: 16
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Tìm hiểu về Collection of Record trong JavaScript Trong bài viết trước, chúng tôi đã giới thiệu với các bạn một vài đặc điểm về mảng 2 chiều – Array 2D trong JavaScript, trong nhiều trường hợp áp dụng khi chúng ta cần giữ thông tin về 1 hoặc nhiều danh sách số lượng chuỗi dữ liệu nhất định, đối tượng Array sẽ là công cụ được sử dụng phổ biến và nhiều nhất. Ví dụ như sau: var aNames= [ "Adam", "Bill", "Carl" ]; // create an array alert( aNames[0] ); // Adam -- look it up by its...
Nội dung trích xuất từ tài liệu:
Tìm hiểu về Collection of Record trong JavaScript Trong bài viết trước, chúng tôi đã Tìm hiểu về Collection of Record trong JavaScriptTrong bài viết trước, chúng tôi đã giới thiệu với các bạn một vài đặc điểm về mảng2 chiều – Array 2D trong JavaScript, trong nhiều trường hợp áp dụng khi chúng tacần giữ thông tin về 1 hoặc nhiều danh sách số lượng chuỗi dữ liệu nhất định, đốitượng Array sẽ là công cụ được sử dụng phổ biến và nhiều nhất.Ví dụ như sau: var aNames= [ Adam, Bill, Carl ]; // create an array alert( aNames[0] ); // Adam -- look it up by its index number // iterate through them for ( var j=0; j< aNames.length; j++ ) { alert( aNames[j] ); // }Nhưng trên thực tế, JavaScript còn hỗ trợ thêm Associative Arrays (hay còn gọi làMaps hoặc Dictionaries), cung cấp thêm cho người sử dụng 1 cách khác để truycập vào danh sách các đối tượng không qua vị trí, mà là khóa liên kết:Tuy nhiên, tính năng hỗ trợ này không hoạt động giống với những gì mà chúng tađã biết trước kia: // this seems reasonable... var aNames= new Array(); aNames[ Anderson ]= Adam; aNames[ Browne ]= Bill; aNames[ Crawford ]= Carl; alert( aNames[ Anderson ] ); // shows Adam (as expected) // ... but this might not seem reasonable: alert( aNames.length ); // shows 0 !!! (why not 3?)Đoạn mã trên có chức năng tạo đối tượng Array, sau đó chèn dữ liệu nothing vàobất cứ thành phần nào trong mảng này. Và những quá trình tiếp theo sẽ tiến hànhsau đó: tất cả các biến JavaScript (bao gồm cả Array) sẽ được coi là đối tượng vớithuộc tính cơ bản của 1 Object điển hình. Những thuộc tính đó được xây dựng dựatrên các khối lớp hỗ trợ khả năng xử lý, giám sát cặp giá trị của mảng liên kết. Vídụ như sau: var mapNames= new Object(); // or: var mapNames= {}; mapNames[ Anderson ]= Adam; mapNames[ Browne ]= Bill; mapNames.Crawford = Carl; // alternate syntax mapNames[ 2 ]= Two; alert( mapNames.length ); // undefined (it is not an Array) for ( var j in mapNames ) { // show the keys alert( j ); // Anderson, Browne, Crawford, 2 } for ( var j in mapNames ) { // show the data associated with each key alert( mapNames[j] ); // Adam, Bill, Carl, Two }Cặp giá trị key/value thường xuyên được gọi trong phần thuộc tính – Propertiescủa 1 đối tượng. Và đối tượng Object hỗ trợ tùy chọn cho phép người dùng thiếtlập, khởi tạo khóa key và giá trị trong cùng 1 thời điểm: var mapNames= { Anderson : Adam, // syntax is key:value Browne : Bill, Crawford : Carl }; for ( var n in mapNames ) { // show the keys and values alert( n+ = + mapNames[n] ); // Anderson=Adam, Browne=Bill, etc... }Giá trị key ở phía bên trái và value ở bên phải. Phần value này không nhất thiếtphải là string hoặc bất cứ đối tượng nào tương ứng, chỉ cần có sẵn thuộc tínhkey/value. Một số thông tin hoặc ví dụ tham khảo, các bạn có thể đọc thêm tại đây.Gán đối tượng thành tham số chức năng:Chức năng linh hoạt này tỏ ra rất hữu ích trong nhiều trường hợp, 1 trong những sốđó là quá trình truyền dữ liệu qua cấu trúc gọi chức năng, tương tự như như cáchlàm truyền tham số qua tên biến. Ví dụ như sau: ... DoThat( {color:Red, font:Arial } ); // unnamed object ... function DoThat( o ) { alert( o.color ); // shows: Red alert( o.font ); // shows: Arial }Thủ tục gọi lệnh như trên sẽ tạo ra các đối tượng nặc danh - Anonymous (bộ tổ hợpcác giá trị key:value), và các cú pháp lệnh được gọi ra có thể truy cập tới phần giátrị trong đối tượng qua tên. Lưu ý rằng nếu khóa key có dạng chuỗi ký tự thì có thểbỏ qua dấu ngoặc kép khi khởi tạo giá trị thuộc tính.Tạo các mảng Record kết hợp:Trên thực tế, chúng ta có thể dễ dàng tạo được các đối tượng map một cách nhanhchóng và gán thêm nhiều thuộc tính đi kèm. Tuy nhiên, cách làm này lại có 1nhược điểm, ví dụ như sau: var o= {}; // or: var o= new Object(); o.lastName= Anderson; o.age= 17; ... later that day ... o.LastName= Smith; // oops, uppercase LNếu bạn bỏ lỡ tên của giá trị key bất kỳ, thì sau đó phải gán thêm thuộc tính mớivào đối tượng này. Mặc dù JavaScript có thể kết hợp với các đối tượng map thìkhông cần phải khai báo trực tiếp, nhưng làm theo cách này sẽ giúp chúng ta giảmthiểu được khá nhiều lỗi.Trong phần lớn các trường hợp áp dụng trên thực tế, chúng ta có thể thực hiệnbằng cách khởi tạo 1 bản ghi đã được định nghĩa sẵn – với cấu trúc đi kèm có chứatoàn bộ thông tin, dữ liệu trong đối tượng đó. Sau đó, sẽ gán các phần thông tinkhởi tạo này tới đối tượng, qua đó chúng ta có thể dễ dàng phân loại, quản lý toànbộ hệ thống thuộc tính có liên quan.Tại cùng thời ...
Nội dung trích xuất từ tài liệu:
Tìm hiểu về Collection of Record trong JavaScript Trong bài viết trước, chúng tôi đã Tìm hiểu về Collection of Record trong JavaScriptTrong bài viết trước, chúng tôi đã giới thiệu với các bạn một vài đặc điểm về mảng2 chiều – Array 2D trong JavaScript, trong nhiều trường hợp áp dụng khi chúng tacần giữ thông tin về 1 hoặc nhiều danh sách số lượng chuỗi dữ liệu nhất định, đốitượng Array sẽ là công cụ được sử dụng phổ biến và nhiều nhất.Ví dụ như sau: var aNames= [ Adam, Bill, Carl ]; // create an array alert( aNames[0] ); // Adam -- look it up by its index number // iterate through them for ( var j=0; j< aNames.length; j++ ) { alert( aNames[j] ); // }Nhưng trên thực tế, JavaScript còn hỗ trợ thêm Associative Arrays (hay còn gọi làMaps hoặc Dictionaries), cung cấp thêm cho người sử dụng 1 cách khác để truycập vào danh sách các đối tượng không qua vị trí, mà là khóa liên kết:Tuy nhiên, tính năng hỗ trợ này không hoạt động giống với những gì mà chúng tađã biết trước kia: // this seems reasonable... var aNames= new Array(); aNames[ Anderson ]= Adam; aNames[ Browne ]= Bill; aNames[ Crawford ]= Carl; alert( aNames[ Anderson ] ); // shows Adam (as expected) // ... but this might not seem reasonable: alert( aNames.length ); // shows 0 !!! (why not 3?)Đoạn mã trên có chức năng tạo đối tượng Array, sau đó chèn dữ liệu nothing vàobất cứ thành phần nào trong mảng này. Và những quá trình tiếp theo sẽ tiến hànhsau đó: tất cả các biến JavaScript (bao gồm cả Array) sẽ được coi là đối tượng vớithuộc tính cơ bản của 1 Object điển hình. Những thuộc tính đó được xây dựng dựatrên các khối lớp hỗ trợ khả năng xử lý, giám sát cặp giá trị của mảng liên kết. Vídụ như sau: var mapNames= new Object(); // or: var mapNames= {}; mapNames[ Anderson ]= Adam; mapNames[ Browne ]= Bill; mapNames.Crawford = Carl; // alternate syntax mapNames[ 2 ]= Two; alert( mapNames.length ); // undefined (it is not an Array) for ( var j in mapNames ) { // show the keys alert( j ); // Anderson, Browne, Crawford, 2 } for ( var j in mapNames ) { // show the data associated with each key alert( mapNames[j] ); // Adam, Bill, Carl, Two }Cặp giá trị key/value thường xuyên được gọi trong phần thuộc tính – Propertiescủa 1 đối tượng. Và đối tượng Object hỗ trợ tùy chọn cho phép người dùng thiếtlập, khởi tạo khóa key và giá trị trong cùng 1 thời điểm: var mapNames= { Anderson : Adam, // syntax is key:value Browne : Bill, Crawford : Carl }; for ( var n in mapNames ) { // show the keys and values alert( n+ = + mapNames[n] ); // Anderson=Adam, Browne=Bill, etc... }Giá trị key ở phía bên trái và value ở bên phải. Phần value này không nhất thiếtphải là string hoặc bất cứ đối tượng nào tương ứng, chỉ cần có sẵn thuộc tínhkey/value. Một số thông tin hoặc ví dụ tham khảo, các bạn có thể đọc thêm tại đây.Gán đối tượng thành tham số chức năng:Chức năng linh hoạt này tỏ ra rất hữu ích trong nhiều trường hợp, 1 trong những sốđó là quá trình truyền dữ liệu qua cấu trúc gọi chức năng, tương tự như như cáchlàm truyền tham số qua tên biến. Ví dụ như sau: ... DoThat( {color:Red, font:Arial } ); // unnamed object ... function DoThat( o ) { alert( o.color ); // shows: Red alert( o.font ); // shows: Arial }Thủ tục gọi lệnh như trên sẽ tạo ra các đối tượng nặc danh - Anonymous (bộ tổ hợpcác giá trị key:value), và các cú pháp lệnh được gọi ra có thể truy cập tới phần giátrị trong đối tượng qua tên. Lưu ý rằng nếu khóa key có dạng chuỗi ký tự thì có thểbỏ qua dấu ngoặc kép khi khởi tạo giá trị thuộc tính.Tạo các mảng Record kết hợp:Trên thực tế, chúng ta có thể dễ dàng tạo được các đối tượng map một cách nhanhchóng và gán thêm nhiều thuộc tính đi kèm. Tuy nhiên, cách làm này lại có 1nhược điểm, ví dụ như sau: var o= {}; // or: var o= new Object(); o.lastName= Anderson; o.age= 17; ... later that day ... o.LastName= Smith; // oops, uppercase LNếu bạn bỏ lỡ tên của giá trị key bất kỳ, thì sau đó phải gán thêm thuộc tính mớivào đối tượng này. Mặc dù JavaScript có thể kết hợp với các đối tượng map thìkhông cần phải khai báo trực tiếp, nhưng làm theo cách này sẽ giúp chúng ta giảmthiểu được khá nhiều lỗi.Trong phần lớn các trường hợp áp dụng trên thực tế, chúng ta có thể thực hiệnbằng cách khởi tạo 1 bản ghi đã được định nghĩa sẵn – với cấu trúc đi kèm có chứatoàn bộ thông tin, dữ liệu trong đối tượng đó. Sau đó, sẽ gán các phần thông tinkhởi tạo này tới đối tượng, qua đó chúng ta có thể dễ dàng phân loại, quản lý toànbộ hệ thống thuộc tính có liên quan.Tại cùng thời ...
Tìm kiếm theo từ khóa liên quan:
mạng máy tính máy chủ tài liệu mạng máy tính chuyên ngành mạng máy tính giáo trình mạng máy tính câu hỏi về mạng máy tínhGợi ý tài liệu liên quan:
-
Giáo án Tin học lớp 9 (Trọn bộ cả năm)
149 trang 263 0 0 -
Ngân hàng câu hỏi trắc nghiệm môn mạng máy tính
99 trang 251 1 0 -
Giáo trình Hệ thống mạng máy tính CCNA (Tập 4): Phần 2
102 trang 244 0 0 -
47 trang 237 3 0
-
Đề cương chi tiết học phần Thiết kế và cài đặt mạng
3 trang 234 0 0 -
80 trang 216 0 0
-
122 trang 212 0 0
-
Giáo trình Hệ thống mạng máy tính CCNA (Tập 4): Phần 1
122 trang 211 0 0 -
Giáo trình môn học/mô đun: Mạng máy tính (Ngành/nghề: Quản trị mạng máy tính) - Phần 1
68 trang 201 0 0 -
Giáo trình căn bản về mạng máy tính -Lê Đình Danh 2
23 trang 188 0 0