Ну во первых, давайте не будем смешивать понятия [] и {}
это не одно и тоже.
В массивах нет различия в записи индекса.
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);
Сообщение от B@rmaley.e><e
|
То, что авторы практически каждой книги не читали стандарт, не делает их специалистами, а книжки хорошими.
|
Интересные у вас убеждения кроме Дуглас Крокфорд, книги пишут дилетанты))))
Сообщение от B@rmaley.e><e
|
Использовать for-in — офигенная оптимизация. Особенно с учётом того, что все видимые свойства из всей цепочки прототипов будут проитерированы.
|
У вас больное воображение, у меня и в мыслях не было так подумать.
for-in - передача по ссылке на объект т.е. Obj[i], а не создание копии с теми же свойствами.
Термины живут еще с Assembler-ов.
К тому же структуру алгоритмов можно посмотреть, в материалах по дизассемблированию и отладке кода.
Так же можно не мало взять с сайтов подобных
http://140byt.es/