Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Object и очередность доступа к свойствам (https://javascript.ru/forum/misc/3048-object-i-ocherednost-dostupa-k-svojjstvam.html)

Shasoft 13.03.2009 11:22

Object и очередность доступа к свойствам
 
Что-то никак не могу найти следующую информацию.

К примеру есть такой код:

var obj = new Object();
obj[red] = 255;
obj[green] = 128;
obj[blue] = 200;
for(var prop in obj)
 alert(prop);


Можно на 100% утверждать, что свойства выведутся в том порядке, в котором их создавали? Т.е. как red, gree, blue и никогда в другом.

Что об этом спецификация говорит? Или может для разных браузеров реализация различается?

Kolyaj 13.03.2009 11:27

Цитата:

Сообщение от Shasoft
Можно на 100% утверждать, что свойства выведутся в том порядке, в котором их создавали?

Нет, нельзя. Зачастую они идут в том же порядке, но это можно считать случайностью, совпадением, особенностью реализации, чем-то еще, но никак не правилом. Сама суть хеша отрицает упорядоченность, для порядка массивы есть.

Zeroglif 13.03.2009 11:28

Цитата:

The mechanics of enumerating the properties is implementation dependent. The order of enumeration is defined by the object.
Реализация в разных браузерах отличается, очерёдность не гарантирована.

Shasoft 13.03.2009 11:42

Kolyaj,
Вот именно название "хэш" и вызывало подозрение, что очередность не гарантирована. Но решил уточнить на форуме этот момент, а то в случае гарантирования очередности можно было это использовать.
Zeroglif,
Хм, а я то всё на русском искал. Не подумал о буржуйской документации.

Всем спасибо за ответы.


Часовой пояс GMT +3, время: 04:10.