Tạo các đối t−ợng mớ

Một phần của tài liệu Tài liệu NHẬP MÔN JAVASCRIPT pdf (Trang 74 - 75)

Cả JavaScript client-side vμ server-side đều có một số đối t−ợng đ−ợc định nghĩa tr−ớc. Tuy nhiên, bạn cũng có thể tạo ra những đối t−ợng của riêng bạn. Trong JavaScript 1.2, nếu bạn chỉ muốn tạo ra một đối t−ợng duy nhất của một kiểu đối t−ợng, bạn có thể tạo nó bằng cách sử dụng khởi tạo đối t−ợng. Hoặc nếu bạn muốn tạo ra nhiều cá thể của một kiểu đối t−ợng, bạn có thể tạo ra một hμm xây dựng tr−ớc, sau đó tạo ra các đối t−ợng có kiểu của hμm đó bằng toán tử new

5.1.1. Sử dụng khởi tạo đối t−ợng

Trong những phiên bản tr−ớc của Navigator, bạn chỉ có thể tạo ra một đối t−ợng bằng cách sử dụng hμm xây dựng chúng hoặc sử dụng một hμm đ−ợc cung cấp bởi một vμi đối t−ợng khác để đạt đ−ợc mục đích.

Tuy nhiên, trong Navigator 4.0, bạn có thể tạo ra một đối t−ợng bằng cách sử dụng một khởi tạo đối t−ợng.Bạn sử dụng cách nμy khi bạn chỉ muốn tạo ra một cá thể đơn lẻ chứ không phải nhiều cá thể của đối t−ợng.

Cú pháp để tạo ra một đối t−ợng bằng cách khởi tạo đối t−ợng (Object Initializers):

objectName={property1: value1, property2: value2, ..., propertyN: valueN}

Trong đó objectName lμ tên của đối t−ợng mới, mỗi propertyI lμ một xác minh (có thể lμ một tên, một số hoặc một xâu ký tự) vμ mỗi valueI lμ một biểu thức mμ giá trị của nó đ−ợc gán cho propertyI. Có thể lựa chọn khởi tạo bằng tên đối t−ợng hoặc chỉ bằng các khai báo. Nếu nh− bạn không cần dùng đến đối t−ợng đó trong mọi chỗ, bạn không cần phải gán nó cho một biến.

Nếu một đối t−ợng đ−ợc tạo bằng cách khởi tạo đối t−ợng ở mức cao nhất, mỗi lần đối t−ợng đó xuất hiện trong các biểu thức, JavaScript sẽ đánh giá lại nó một lần. Ngoμi ra, nếu sử dụng việc khởi tạo nμy trong một hμm thì mỗi lần gọi hμm, đối t−ợng sẽ đ−ợc khởi tạo một lần

Giả sử bạn có câu lệnh sau:

if (condition)

x={hi: ”there.”}

Trong tr−ờng hợp nμy, JavaScript sẽ tạo ra một đối t−ợng vμ gắn nó vμo biến x nếu biểu thức condition đ−ợc đánh giá lμ đúng

Còn ví dụ sau tạo ra một đối t−ợng myHonda với 3 thuộc tính:

myHonda={color:”red”,wheels:4,engine:{cylinder:4,size:2.2}}

Chú ý rằng thuộc tính engine cũng lμ một đối t−ợng với các thuộc tính của nó Trong Navigator 4.0, bạn cũng có thể sử dụng một khởi tạo để tạo một mảng. Cú pháp để tạo mảng bằng cách nμy khác với tạo đối t−ợng:

arrayName=[element0, element1,...,elementN]

Trong đó, arrayName lμ tên của mảng mới, vμ mỗi elementI lμ giá trị của phần tử ở vị trí đó của mảng. Khi bạn tạo một mảng bằng cách sử dụng ph−ơng

pháp khởi tạo, thì nó sẽ coi mỗi giá trị lμ một phần tử trên mảng, vμ chiều dμi của mảng chính lμ số các tham số.

Bạn không cần phải chỉ định rõ tất cả các phần tử trên mảng mới. Nếu bạn đặt hai dấu phẩy vμo hμng, thì mảng sẽ đ−ợc tạo với những chốn trống cho những phần tử ch−a đ−ợc định nghĩa nh− ví dụ d−ới đây:

Nếu một mảng đ−ợc tạo bằng cách khởi tạo(initializer) ở mức cao nhất, mỗi lần mảng đó xuất hiện trong các biểu thức, JavaScript sẽ đánh giá lại nó một lần. Ngoμi ra, nếu sử dụng việc khởi tạo nμy trong một hμm thì mỗi lần gọi hμm, mảng sẽ đ−ợc khởi tạo một lần

Ví dụ1: Tạo một mảng coffees với 3 phần tử vμ độ dμi của mảng lμ 3:

coffees = [“French Roast”,”Columbian”,”Kona”]

Ví dụ 2: Tạo ra một mảng với 2 phần tử đ−ợc khởi đầu vμ một phần tử rỗng:

fish = [“Lion”, ,” Surgeon”]

Với biểu thức nμy, fish[0] “Lion”, fish[2] lμ ” Surgeon , vμ

fish[2] ch−a đ−ợc định nghĩa

5.1.2. Sử dụng một hμm xây dựng(Constructor Function)

Bạn có thể tạo ra đối t−ợng của riêng mình với hai b−ớc sau:

Một phần của tài liệu Tài liệu NHẬP MÔN JAVASCRIPT pdf (Trang 74 - 75)