2009-10-05 27 views
17

Tôi là một nhà phát triển Java, những người cố gắng Flex. Đây là vấn đề của tôi:actionscript (flex): làm thế nào để biết liệu một tài sản của đối tượng tồn tại (hoặc xác định)?

Tôi xử lý đối tượng actionScript dưới dạng băm nhỏ nhưng khi đối tượng không có thuộc tính nó cho ngoại lệ: Không có biến nào như vậy.

Ở đây tôi mong đợi nó đã cho tôi vô giá trị, thay vì đưa ra ngoại lệ. Vì vậy, bạn có biết là có một cách để xử lý nó, cụ thể là kiểm tra xem tài sản được xác định cho đối tượng.

dấu vết (obj [ "2008-02"]) // cho ngoại lệ

Trả lời

29

Sử dụng một cái gì đó dọc theo dòng của

if (myObject.hasOwnProperty("propertyName")) 

để kiểm tra xem tài sản tồn tại.

Chỉnh sửa: Ngoài ra hãy xem here.

+0

cảm ơn, vì câu trả lời nhanh gây sốc – javanes

0

thử

if (obj["2008-02"] != null) { then do something } 

nó là null, nhưng bạn không thể vô đầu ra. bạn cũng có thể thử chuyển đổi nó thành một chuỗi cho các mục đích của một dấu vết().

1

hasOwnProperty()doesn't work correctly với thừa kế, thuộc tính tĩnh hoặc từ điển.

Bạn nên sử dụng

if ("propertyName" in myObject) 

để thay thế.

Các vấn đề liên quan