Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Правильность написания, for(var i in object){} 
:(
    Опции темы
zenuch
Дата 30.1.2007, 17:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 29.1.2007

Репутация: нет
Всего: нет



Меня все мучает вопрос почему во  многих книжках по JS 
цикл пускают в таком духе:
Код

for(var i in object){
} 

а не 
Код

var i;
for(i in object){
} 

Ведь в первом случае идет n-кратная инициализация переменной -- что не есть хорошо.
Вопрос: "Может я не правильно рассуждаю?"


PM MAIL   Вверх
Zeroglif
Дата 30.1.2007, 21:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 644
Регистрация: 22.9.2005

Репутация: 28
Всего: 66



Цитата(zenuch @  30.1.2007,  17:48 Найти цитируемый пост)
Меня все мучает вопрос почему во  многих книжках по JS цикл пускают в таком духе:

Потому что это прямо описано в ECMAScript (12.6.4), хотя декларацию и можно легко вынести наружу, от этого суть не поменяется, только лишняя строчка да пара лишних символов.

Цитата(zenuch @  30.1.2007,  17:48 Найти цитируемый пост)
Вопрос:"Может я не правильно рассуждаю?"

Ответ: Неправильно. smile

Цитата(zenuch @  30.1.2007,  17:48 Найти цитируемый пост)
Ведь в первом случае идет n-кратная инициализация переменной -- что не есть хорошо.

В javascript нет n-кратной инициализации или конкретизации переменных (ECMAScript, 10). Это делается один раз (условно говоря до начала построчного разбора кода) непосредственно при входе в контекст/область исполнения (execution context). Можно 100 раз повторить декларацию переменной, 99 из них будут проигнорированы. Отсюда конструкция for-in не будет в каждый проход заново декларировать i, максимум - это перевычисление идентификатора (на совести конкретного движка).


PM MAIL WWW   Вверх
zenuch
Дата 31.1.2007, 09:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 29.1.2007

Репутация: нет
Всего: нет



Блин спасибо Zeroglif просвятил! Спасибо этому форуму и тебе в частности за то что помогаешь!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0635 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.