powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / отработка for браузерами
14 сообщений из 14, страница 1 из 1
отработка for браузерами
    #36249190
Фотография konstsch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
        function parseJson(doc) {

            var jsonData = eval("(" + doc + ")")            
            for (var i =  0 ; i <= jsonData.markers.length- 1 ; i++) {                
                var marker = createMarker(jsonData.markers[i]);
                gmap.addOverlay(marker);
            }
            SetMapPosition(jsonData.bounds)           
        }

в этом примере IE отрабатывает на 1 раз больше циклов чем Firefox, и выходит за пределы массива, почему?
...
Рейтинг: 0 / 0
отработка for браузерами
    #36249771
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Полагаю for ни при чём тут. Скорей, значение doc отличается в ИЕ и в ФФ. Посмотрите, что передаётся в том и в другом случае.


> i <= jsonData.markers.length-1;

Ужос....
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
отработка for браузерами
    #36249797
Фотография konstsch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что не понравилось?

передается одна строка во всех случаях.
...
Рейтинг: 0 / 0
отработка for браузерами
    #36249830
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
konstschчто не понравилось?
Расово правильней писать i < jsonData.markers.length

Jah loves you.
...
Рейтинг: 0 / 0
отработка for браузерами
    #36249838
Фотография konstsch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
дак так и пишу просто начал издеваться над кодом
...
Рейтинг: 0 / 0
отработка for браузерами
    #36249842
Фотография konstsch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и с утра понял что jsonData.markers.length

разные браузеры насчитываю по разному

for ни при чем.
...
Рейтинг: 0 / 0
отработка for браузерами
    #36249875
Фотография konstsch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
оказывается если есть запятая, но нет данных IE это считает, а Firefox нет

всем спасибо
...
Рейтинг: 0 / 0
отработка for браузерами
    #36250278
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
konstschоказывается если есть запятая, но нет данных IE это считает, а Firefox нетВыходит, так нельзя делать...
А в gmail (см. "Исходный код страницы" после входа в почту) подобное встречается
...
Рейтинг: 0 / 0
отработка for браузерами
    #36251151
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On Wed, 14 Oct 09 08:25:02 GMT
Antonariy wrote:

> Расово правильней писать i < jsonData.markers.length

ИМХО в данном случае length остаётся неизменным на всём протяжении цикла, так и нет смысла его дёргать на каждом проходе
Код: plaintext
for(var i= 0 , c=jsonData.markers.length; i<c; i++)

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
отработка for браузерами
    #36251570
IDVsbruck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
О, эта старая песТня про циклы. Для тех, кто не занимался оптимизацией процессов в js, напомню - САМЫМ оптимальным циклом будет следующий (по времени исполнения, конечно и только для массивов):
Код: plaintext
for (var i =  0 , item; item = _massiv[i]; i++) {/*тут работаем с item*/}
В применении к коду:
Код: plaintext
for (var i =  0 , c = jsonData.markers, item; item = c[i]; i++) {}
...
Рейтинг: 0 / 0
отработка for браузерами
    #36251880
Фотография illion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IDVsbruck,

я хоть и сторонник этого способа, но в данном конкретном случае нужно признать, что он будет работать неверно на массивах с неопределенными элементами (var a=[1,2,,4]).
...
Рейтинг: 0 / 0
отработка for браузерами
    #36251947
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
illionIDVsbruck,

я хоть и сторонник этого способа, но в данном конкретном случае нужно признать, что он будет работать неверно на массивах с неопределенными элементами (var a=[1,2,,4]).А ещё с элементами 0 , null , false , пустая_строка ... Вот ведь незадача!

Потому лучше явно сравнивать с undefined
Код: plaintext
1.
for (var i =  0 , item; (item = _massiv[i]) !== undefined; i++) {/*тут работаем с item*/}

а между 2мя запятыми подряд выставлять null (всё равно, как выяснилось, ,, - это плохо). Не думаю, что так уж часто встречается логика, в которой в массиве null и undefined считаются разными, потому можно заменять.
...
Рейтинг: 0 / 0
отработка for браузерами
    #36251948
IDVsbruck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
illionIDVsbruck,

я хоть и сторонник этого способа, но в данном конкретном случае нужно признать, что он будет работать неверно на массивах с неопределенными элементами (var a=[1,2,,4]).
И что поменялось?
Цикл.
a[0] = 1;
a[1] = 2;
a[2] = ""/null;
a[3] = 4;
a[4] = undefined;
Выходим из цикла.

Я ведь не зря поправочку перед кодом сделал: только для массивов. Конечно, для так называемых ассоциативных массивов (объектов) - идти лесом, там другие правила.
Ничего не поменялось, логика не нарушена, не убедили.
...
Рейтинг: 0 / 0
отработка for браузерами
    #36251953
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IDVsbruckИ что поменялось?
Цикл.
a[0] = 1;
a[1] = 2;
a[2] = ""/null;
a[3] = 4;
a[4] = undefined;
Выходим из цикла.Проверено в FF
На пустой строке обрывается. И на прочих "фальсах" тоже.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
<head>
	<script type="text/javascript">
	function fc() {
		var arr = [ 1 ,  2 , '',  4 ,  5 ,  6 ];
		for (var i =  0 , item; item = arr[i]; i++) {	alert(arr[i]); }
	}
	</script>
</head><body>
<div onclick="fc();">Click</div>
</body></html>
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / отработка for браузерами
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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