Проще записать
var arr = {555:'Первый',777: 'Второй',666: 'Третий'}; for (var i in arr) { alert(i + ':' + arr[i] + '; ');} Зачем создавать лишении свойства, объекты используют в коллекции также имена и свойства. кто муже поведение IE можно включить меньшей версии из тела документа. |
UDN, и наступите на грабли какого-нибудь IE13, который будет, например, вообще каждый раз в случайном порядке выводить.
Уже было сказано, что на какой-либо порядок при переборе for-in рассчитывать не стоит. |
Цитата:
Какай идиот при создание ПО станет создавать еще и генерацию рандомных ссылок на элементы коллекции объекта. Когда практически в каждой книжке при работе с элементами коллекции рекомендуется по возможности заменять конструкцию for (var i;i<100;i++) на for (elem in object) //для каждого элемента в объекте Посмотрите оптимизацию циклов работы с объектами, можно не только javascript, но и С++, С#,Delphi, VB?, *.Net, Java Прекращайте свои сумасшедшие предположения, а то можно подумать, что на этом форуме только флудом и тролем занимаются. Столько умных: работают с галереями, документами большого объема, текстом используют различного рода обертки,но по прежнему используют конкатенацию строк заместо document.write("a_1","a_2","a_n",...a_200) Не знают, что при добавление или перемещение визуальных объектов(причем каждого), происходит обновление все документа. window.offscreenBuffering Если этот режим включен, то отображение объектов производится в фоновом режиме, а затем сформированное изображение появляется на экране. offscreenBuffering = true; // включить насильственную буферизацию так же разницу и особенности при работе с [] и {} Аргументы нужно подкреплять, хотя с аргументами от сороки на хвосте куда уж вам.. |
Цитата:
Ты видно ещё не нашёл свои грабли. |
Цитата:
То, что авторы практически каждой книги не читали стандарт, не делает их специалистами, а книжки хорошими. Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Вы когда на другие языки ссылаетесь, учитывайте особенности текущего, что ли. |
Ну во первых, давайте не будем смешивать понятия [] и {}
это не одно и тоже. В массивах нет различия в записи индекса. var arr=[]; arr['1'] = "Первый"; arr['5'] = "Второй"; arr['10'] = "Третий"; alert([arr]) и var arr=[]; arr[1] = "Первый"; arr[5] = "Второй"; arr[10] = "Третий"; alert([arr]) Во вторых конструкция for, это все лишь более удобная форма записи циклов. for(var j=0,s="";j<5;j++){s += j + " "}; alert(s); и опа парсится в /**for (;;) аргументы: 1-ый - инициализация переменных 2-ой - условие выхода из цикла 3-ий - изменение счетчика */ var s="",j = 0; //1-ый - инициализация переменных for (;;){ if (j < 5){ //2-ой - условие выхода из цикла s += j + " "; j++;} //3-ий - изменение счетчика else {break;} } alert(s); Цитата:
Цитата:
for-in - передача по ссылке на объект т.е. Obj[i], а не создание копии с теми же свойствами. Термины живут еще с Assembler-ов. К тому же структуру алгоритмов можно посмотреть, в материалах по дизассемблированию и отладке кода. Так же можно не мало взять с сайтов подобных http://140byt.es/ |
UDN, убейся уже. Хватить херню постить.
|
Цитата:
Цитата:
var a = {}; a[1] = 5; alert(a['1']); // Внезапно!Более того, я не понимаю, как вообще связано то, о чём Вы вещаете, с порядком перебора ключей. |
Цитата:
|
Цитата:
http://alljs.ru/articles/array/iteration Цитата:
По теме поста: если важна последовательность, то только массив. Хэш по определению не обеспечивает порядок. |
Часовой пояс GMT +3, время: 06:27. |