powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / for in непонятки
7 сообщений из 7, страница 1 из 1
for in непонятки
    #37971281
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: javascript
1.
2.
3.
4.
5.
6.
7.
var fields=[[
{field:'RoleID', title:'ID', width:50,align:'right',readonly:true},
{field:'Name_LANG', title:'Название',width:450},
{field:'Del', title:'Удалить', width:70, align:'center',visible:false}
]];

for(var f in fields[0])alert(f);

for in раньше не использовал, не въезжаю, почему f равно 0, 1 или 2, и, соответственно, f.title = undefined?
...
Рейтинг: 0 / 0
for in непонятки
    #37971294
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alert(fields[0][f].title);

а вообще, массивы лучше так не обходить. Если что-то добавлено в Array.prototype или Object.prototype, то оно тоже выскочит
...
Рейтинг: 0 / 0
for in непонятки
    #37971296
Фотография Ренат
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у вас f ключ.
Код: sql
1.
for(var f in fields[0]) alert(fields[0][f].title);
...
Рейтинг: 0 / 0
for in непонятки
    #37971316
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ренату вас f ключ.Ясно, я-то думал это по смыслу обычный объект-итератор.
Яростный Меча вообще, массивы лучше так не обходить. Если что-то добавлено в Array.prototype или Object.prototype, то оно тоже выскочитТо есть лучше обычным for(x=0,x<length,x++)?
Но вообще я в прототипы лезть не собираюсь.
...
Рейтинг: 0 / 0
for in непонятки
    #37971326
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyТо есть лучше обычным for(x=0,x<length,x++)?да.
AntonariyНо вообще я в прототипы лезть не собираюсь.прототип - он один на всех. может залезть какой-нибудь используемый сторонний скрипт.

для обхода объекта - конечно, for in без вариантов. тогда проверяют каждое свойство с помощью hasOwnProperty
...
Рейтинг: 0 / 0
for in непонятки
    #37971427
IDVsbruck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уважаемый Яростный Меч не совсем прав, как бы for in как раз для этого сделан и отказываться от него не стоит. Другое дело, что надо юзать одну проверочку:
Код: javascript
1.
2.
for (var f in fields[0]) 
    if (fields[0].hasOwnProperty(f)) alert(fields[0][f]);


Хотя надо смотреть, стоит ли применять на одно действие больше, или нет. Но for in рекомендуется использовать для свойств текущего объекта именно так.
...
Рейтинг: 0 / 0
for in непонятки
    #37973888
Фотография Ифреймов Вася
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IDVsbruckУважаемый Яростный Меч не совсем прав, как бы for in как раз для этого сделан и отказываться от него не стоит. Другое дело, что надо юзать одну проверочку:
Код: javascript
1.
2.
for (var f in fields[0]) 
    if (fields[0].hasOwnProperty(f)) alert(fields[0][f]);


Хотя надо смотреть, стоит ли применять на одно действие больше, или нет. Но for in рекомендуется использовать для свойств текущего объекта именно так.

Николас Закас пишет - когда можно не использовать for in - не используйте
Лишняя нагрузка

nicholas zakas6. Avoid for-in loops (and function based iteration)
Here’s another pretty black-and-white performance tip: don’t use for-in loops.
The logic behind this is pretty straightforward: instead of looping through a set of indexes like you would with a for or a do-while, a for-in not only might loop through additional array items, but also requires more effort.
In order to loop through these items, Javascript has to set up a function for each one. This function-based iteration comes with a slew of performance issues: an extra function is introduced with a corresponding execution context that is created and destroyed, on top of which an additional object is added to the scope chain.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / for in непонятки
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]