- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
var sym = new Array();
sym["a"]=0;sym["c"]=1;sym["d"]=2;sym["e"]=3;sym["f"]=4;sym["g"]=5;sym["h"]=6;sym["k"]=7;sym["l"]=8;sym["m"]=9;sym["n"]=10;sym["p"]=11;sym["q"]=12;sym["r"]=13;sym["s"]=14;sym["t"]=15;sym["u"]=16;sym["w"]=17;sym["x"]=18;sym["z"]=19;sym["2"]=20;sym["3"]=21;sym["4"]=22;sym["5"]=23;sym["6"]=24;sym["7"]=25;
function convertCode(field)
{
var code = $(field).val().toLowerCase();
var convertedCode = sym[code.charAt(0)];
for (var i = 1; i < code.length; i++)
convertedCode += "_" + sym[code.charAt(i)];
$(field).closest(".captcha-block").find("#captchaCode").val(convertedCode);
}
Тормозит (массиво-объект, авторский join, DOM-фэйлы), вероятно, использует несколько элементов с одним ID, а также пишет в какое-то поле строки вида
Товарищ, помни! Создавая подобный код, ты даришь царю ещё один аргумент в пользу сишки!!!1111
Начиная с того как будет работать такой код
while (a in {'a':1,'b':2}){}
for (var a='a';a in {'a':1,'b':2;}){}
Заканчивая тем что он перебирает методы-прототипов, работает медленней и содержит кучу граблей.
http://stackoverflow.com/questions/500504/why-is-using-for-in-with-array-iteration-such-a-bad-idea
Так что такой for-in, можно расценивать как его отсутствие.
вот прямо как в случае в ОП
Object.keys
Слоупоки такие слоупоки ;) Хотя авторы js тоже слоупоки, раз только в жс 1.8.5 додумались внедрить свойство, которое надо было запилить сразу, в первой же версии.
Тут на самом деле вопрос шире.
Если сильно исхитриться и вложить все знания js(коими я не обладаю, да и лень) и смекалку (например использовать генераторы-итераторы), то можно написать качественные, быстрые хелпер-методы, с которыми использование for-in станет удобным и приобрет смысл. Примерно так:
for (var in $array(a))
for (var in $values(b))
for (var in $entries(b))
Но только вот делать такое лень. А должны делать разрабы браузеров и языка.
2 bormand
>>>додумались внедрить свойство, которое надо было запилить сразу, в первой же версии.
Почему не внедрили Object.values и Object.entries, который вернет кортеж из двух элементов:
[key,value]?
Ведь доступ по ключу отнимает какое-то время
Вменяемым же людям придется принять и полюбить императивный for, т.к. это самая быстрая и короткая версия.
С тем различием что замыкание изолирует переменную цикла в своем неймспейсе - иногда это полезно.
Главное версию хтмл не указывать ;) Тогда браузер молча сожрет любое говно и не подавится. У нас как-то на внутреннем сайте висела страничка, в которой ни одна <tr> не была закрыта. Так эта таблица во всех браузерах показывалась нормально.
Писатели сайтов понимают, что браузер схавает. Поэтому не пытаются писать правильный код. Порочный круг ;)
Вы так говорите, как-будто это что-то плохое. Если бы я делал свой сайт по программированию - я бы тоже его сляпал на джумле\вордпрессе, не писать же ради этого свой движок ;)
> Единственное что в них своего - копирайты.
Т.е. все статьи спизжены?
Какова вероятность, что к тому времени когда вы будете способны сделать достойный прочтения сайт по веб-программированию, у вас не будет собственного движка (или освоенного фреймворка, как минимум)?
По другим же аспектам программирования - тут понятное дело, что разумно взять попавшийся под руку блоговый движок.
2 kegdan: А ты себе представлял, что чуваки оторвутся от шитья контроллеров что бы сделать себе бложек уютненький? На статьи-то поди еле времени хватает.
Таким чувакам ну нафиг не сдался собственный сайт - хабры хватит с лихвой.
easyelectronics, radiokot, хабра то зачем? :)
> достойный прочтения сайт по веб-программированию
Так всё-таки вклад в программирование или в веб-программирование?
Проще один раз поставить джумлу вордпресс или вики, или даже просто где-нибудь зарегиться и не связываться с серверами и хтмл, чем постоянно трахаться с этим хтмл.
На тех же вики разметка проще у удобней на порядки. А в цмсках вообще визивиг редакторы. Если цель сайта именно контент - эти способы явно лучше хтмл статики.
1. написал в чем нибудь вроде rst
2. прогнал через генератор html со стилями
3. выложил генерёную статику
4. PROFIT
Движки ещё какие-то изобретать
Генератор запускать, статику выкладывать...
> Движки ещё какие-то изобретать
Дык полно же готовых цмс и вики... И ставятся даже нубом в пределах получаса... А если не хочется ставить - пожалуйста, есть всякие блогоплатформы типа хабра и жж. И никакого секса с генерацией и выкладыванием. И стили придумывать не надо, если готовые (или скачанные где-то рядом) устраивают.
Я просто не пойму, зачем такая сложная технология, если человеку не хочется связываться с вебом, а хочется просто запилить сборник тематических статей? :)
> все статьи спизжены?
тут хз, не проверял.