2011-11-27 53 views
6

Tôi nghĩ rằng tôi có thể phát điên.console.log() hiển thị các giá trị mâu thuẫn cho cùng một thuộc tính đối tượng

Tôi sử dụng console.log() để xem trạng thái của đối tượng và sau đó trên dòng tiếp theo thực hiện một console.log() trên một thuộc tính cụ thể của cùng một đối tượng và nhận các giá trị khác nhau cho mỗi đối tượng.

Mã Tôi đang sử dụng là:

console.log(this.pictures.Items[pic].val); 

for(var i in this.pictures.Items[pic].val) { 
    console.log("property: %s, value: %s", i, this.pictures.Items[pic].val[i]); 
} 

và firebug kết quả đầu ra:

Picture { isLoaded=true, isSelected=false, img_src="imgs/image1.jpg", more...} 

property: isLoaded, value: false 
...more properties 

như bạn có thể thấy, 'isLoaded' là đúng khi đăng nhập các đối tượng riêng của mình nhưng sai khi đăng nhập các bất động sản.

Tôi đã thử ghi lại đối tượng một lần nữa sau khi chỉ trong trường hợp, và nó là đúng một lần nữa.

Có ai biết điều gì đang xảy ra ở đây không?

Cảm ơn

Giàu

+0

http://jsfiddle.net/xmvUR/ ... Tôi không biết vị trí thực sự của mã của bạn. Nhưng tôi chắc chắn rằng không có lỗi như vậy trong JavaScript .. –

Trả lời

2

Tôi không hoàn toàn chắc chắn nếu điều này là những gì đang xảy ra với bạn hay không, nhưng console.log() dường như có một số vấn đề trong một số trình duyệt nơi làm một console.log() trên một giá trị hoặc sử dụng một biến chỉ mục đang thay đổi hoặc được lặp lại trong một mảng không phải lúc nào cũng hoạt động đúng. Tôi nghĩ rằng nó có liên quan đến những thứ bị marshalled giữa các ranh giới quá trình và có lẽ là sự chậm trễ trong việc đánh giá thực tế biểu thức khai thác cho đến khi một đối tượng hoặc chỉ mục thực sự được sử dụng hoặc tham chiếu đã thay đổi. Tôi đã nhìn thấy vấn đề này trong Chrome chắc chắn - không biết về Firefox.

Bạn sẽ có thể khắc phục sự cố cụ thể này bằng cách sử dụng phép toán chuỗi để tạo chuỗi cuối cùng của mình. Nếu chỉ chuỗi cuối cùng được chuyển đến console.log() trong đó mọi thứ được đánh giá đầy đủ, thì vấn đề này sẽ không ảnh hưởng đến đầu ra.

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