14.07.2015, 08:45
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Сообщение от kostyanet
|
Когда нечего сказать - молчат.
|
Ты если хочешь показаться умным, то хоть внимательно читай то, что бездумно копируешь.
Ничто не будет "испорчено", это не баба, которую портят в кустах, это аргумент, и в данном случае передача по ссылке, то есть изменяться будет то, на что указывает ссылка, а не аргумент. Умник хренов, несешь бред от поста к посту, изгадил весь форум своим словоблудием, даже заглядывать в посты из за тебя паразита не охота.
Последний раз редактировалось laimas, 14.07.2015 в 08:58.
|
|
14.07.2015, 11:14
|
Аспирант
|
|
Регистрация: 23.06.2015
Сообщений: 53
|
|
<html>
<canvas id="c"></canvas>
<script>
data=[
{path: "http://javascript.ru/forum/images/smilies/smile.gif", x: 10, y: 10},
{path: "http://javascript.ru/forum/images/smilies/wink.gif", x: 20, y: 20}
]
createImage=function(o){
o.img=new Image
o.img.src=o.path
o.img.onload=function(){c.getContext("2d").drawImage(o.img, o.x, o.y)}
}
data.forEach(createImage)
</script>
</html>
ЗЫ то что выше советовали про замыкания -- не слушайте. Это, мягко говоря, неоптимальный вариант.
|
|
14.07.2015, 11:49
|
|
Профессор
|
|
Регистрация: 07.03.2011
Сообщений: 1,138
|
|
foo эволюционирует =).
Любопытно как долго продержется этот акк
|
|
14.07.2015, 12:20
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,133
|
|
Сообщение от jackdempsey2015
|
ЗЫ то что выше советовали про замыкания -- не слушайте
|
Сообщение от jackdempsey2015
|
forEach
|
сахар этого же замыкания.
|
|
14.07.2015, 12:30
|
Профессор
|
|
Регистрация: 23.10.2010
Сообщений: 2,718
|
|
Сообщение от laimas
|
Ничто не будет "испорчено", это не баба,
|
Сколько угодно глюков из-за рефов и я бы сказал что указатели народ не любит именно из-за того, что данные портятся.
Сообщение от jackdempsey2015
|
data.forEach(createImage)
|
Вы устройство этого форича гляньте. Но, еще раз, дело тут вовсе не в том что цикл, а в том, что порядок будет нарушен. Если он не важен, то не важен, а когда станет важен придется выкидывать цикл в какой бы ипостаси он не был и пихать хобот в ж. Иначе асинхрон не упорядочить.
|
|
14.07.2015, 12:44
|
Аспирант
|
|
Регистрация: 23.06.2015
Сообщений: 53
|
|
>>Вы устройство этого форича
Если не устраивает скорость нативного, напишите свой
>>а в том, что порядок будет нарушен
никакого порядка там нет, событие наступает в порядке загрузки картинок, асинхронно, поэтому контролировать этот порядок невозможно, Можно синхронизировать загрузку, но это уже другая история.
|
|
14.07.2015, 12:57
|
Аспирант
|
|
Регистрация: 23.06.2015
Сообщений: 53
|
|
Сообщение от рони
|
сахар этого же замыкания.
|
forEach не создает никаких замыканий, он просто вызывает последовательно указанную функцию для каждого элемента. В некотором роде, замыкание там создается в самом обработчике onload. И то, фактически, это не замыкание, просто пробрасывание переменной, окружение там не создается, эта связка живет только в момент вызова, поэтому никакого оверхеда по памяти там нет. Но я говорил про явное создание анонимных замыканий.
Последний раз редактировалось jackdempsey2015, 14.07.2015 в 13:05.
|
|
14.07.2015, 13:09
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Сообщение от kostyanet
|
Сколько угодно глюков из-за рефов
|
Ты понятия не имеешь, что такое передача по ссылке и какова польза от них, как и многое другое не понимаешь, поэтому видимо и используешь этот тупой жаргон в стиле четких пацанчиков, а бы умным и крутым казаться.
Самое смешное, так это то, что к данной теме пост о передаче по ссылке как собаке пятая лапа.
Последний раз редактировалось laimas, 14.07.2015 в 13:34.
|
|
14.07.2015, 22:48
|
Профессор
|
|
Регистрация: 23.10.2010
Сообщений: 2,718
|
|
Сообщение от jackdempsey2015
|
поэтому контролировать этот порядок невозможно
|
На предыдущей странице есть рабочий пример с полным контролем этого самого порядка.
|
|
15.07.2015, 00:54
|
Аспирант
|
|
Регистрация: 23.06.2015
Сообщений: 53
|
|
Сообщение от kostyanet
|
с полным контролем этого самого порядка.
|
нет у тебя там никакого контроля порядка, онлоад вызывается асинхронно, ты не можешь знать когда он отработает. В твоем коде он только назначен, то же самое что и в моем, никакой разницы, в этом отношении.
|
|
|
|