- 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);
}
1024-- 21.08.2013 00:02 # +4
Тормозит (массиво-объект, авторский join, DOM-фэйлы), вероятно, использует несколько элементов с одним ID, а также пишет в какое-то поле строки вида
Товарищ, помни! Создавая подобный код, ты даришь царю ещё один аргумент в пользу сишки!!!1111
anonimb84a2f6fd141 21.08.2013 00:57 # −4
Lure Of Chaos 22.08.2013 20:34 # 0
3.14159265 22.08.2013 20:45 # +1
Lure Of Chaos 22.08.2013 20:52 # 0
3.14159265 22.08.2013 21:47 # 0
Начиная с того как будет работать такой код
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, можно расценивать как его отсутствие.
defecate-plusplus 22.08.2013 22:46 # +1
вот прямо как в случае в ОП
3.14159265 23.08.2013 13:17 # +1
Object.keys
bormand 23.08.2013 13:35 # 0
Слоупоки такие слоупоки ;) Хотя авторы js тоже слоупоки, раз только в жс 1.8.5 додумались внедрить свойство, которое надо было запилить сразу, в первой же версии.
3.14159265 23.08.2013 20:52 # +1
bormand 23.08.2013 21:00 # +2
3.14159265 23.08.2013 20:35 # +1
Тут на самом деле вопрос шире.
3.14159265 23.08.2013 20:45 # 0
Если сильно исхитриться и вложить все знания 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]?
Ведь доступ по ключу отнимает какое-то время
3.14159265 23.08.2013 20:48 # +1
Вменяемым же людям придется принять и полюбить императивный for, т.к. это самая быстрая и короткая версия.
С тем различием что замыкание изолирует переменную цикла в своем неймспейсе - иногда это полезно.
bormand 21.08.2013 06:57 # 0
Главное версию хтмл не указывать ;) Тогда браузер молча сожрет любое говно и не подавится. У нас как-то на внутреннем сайте висела страничка, в которой ни одна <tr> не была закрыта. Так эта таблица во всех браузерах показывалась нормально.
kegdan 21.08.2013 07:06 # 0
bormand 21.08.2013 07:12 # +2
Писатели сайтов понимают, что браузер схавает. Поэтому не пытаются писать правильный код. Порочный круг ;)
kegdan 21.08.2013 07:36 # −1
bormand 21.08.2013 07:50 # 0
Вы так говорите, как-будто это что-то плохое. Если бы я делал свой сайт по программированию - я бы тоже его сляпал на джумле\вордпрессе, не писать же ради этого свой движок ;)
> Единственное что в них своего - копирайты.
Т.е. все статьи спизжены?
vistefan 21.08.2013 08:03 # 0
Какова вероятность, что к тому времени когда вы будете способны сделать достойный прочтения сайт по веб-программированию, у вас не будет собственного движка (или освоенного фреймворка, как минимум)?
По другим же аспектам программирования - тут понятное дело, что разумно взять попавшийся под руку блоговый движок.
2 kegdan: А ты себе представлял, что чуваки оторвутся от шитья контроллеров что бы сделать себе бложек уютненький? На статьи-то поди еле времени хватает.
kegdan 21.08.2013 08:06 # 0
Таким чувакам ну нафиг не сдался собственный сайт - хабры хватит с лихвой.
bormand 21.08.2013 08:09 # +2
easyelectronics, radiokot, хабра то зачем? :)
wvxvw 21.08.2013 18:55 # −2
vistefan 21.08.2013 19:09 # 0
> достойный прочтения сайт по веб-программированию
Так всё-таки вклад в программирование или в веб-программирование?
wvxvw 21.08.2013 19:20 # 0
vistefan 21.08.2013 19:50 # 0
wvxvw 21.08.2013 20:00 # 0
wvxvw 21.08.2013 20:08 # −1
kegdan 22.08.2013 02:16 # +1
wvxvw 22.08.2013 09:17 # +1
roman-kashitsyn 22.08.2013 22:28 # 0
bormand 22.08.2013 22:54 # 0
Проще один раз поставить джумлу вордпресс или вики, или даже просто где-нибудь зарегиться и не связываться с серверами и хтмл, чем постоянно трахаться с этим хтмл.
На тех же вики разметка проще у удобней на порядки. А в цмсках вообще визивиг редакторы. Если цель сайта именно контент - эти способы явно лучше хтмл статики.
roman-kashitsyn 22.08.2013 23:13 # 0
1. написал в чем нибудь вроде rst
2. прогнал через генератор html со стилями
3. выложил генерёную статику
4. PROFIT
Движки ещё какие-то изобретать
bormand 23.08.2013 08:00 # 0
Генератор запускать, статику выкладывать...
> Движки ещё какие-то изобретать
Дык полно же готовых цмс и вики... И ставятся даже нубом в пределах получаса... А если не хочется ставить - пожалуйста, есть всякие блогоплатформы типа хабра и жж. И никакого секса с генерацией и выкладыванием. И стили придумывать не надо, если готовые (или скачанные где-то рядом) устраивают.
Я просто не пойму, зачем такая сложная технология, если человеку не хочется связываться с вебом, а хочется просто запилить сборник тематических статей? :)
kegdan 21.08.2013 08:09 # 0
> все статьи спизжены?
тут хз, не проверял.
bormand 21.08.2013 08:12 # +1
1024-- 21.08.2013 13:29 # 0