23.12.2015, 00:42
|
|
Новичок
|
|
Регистрация: 05.09.2010
Сообщений: 2,298
|
|
Сообщение от kobezzza
|
В тот день, когда такая хрень станет для меня узким местом - я брошу программировать
|
Я сонный, наверное, не пониимаю твоего сообщения.
|
|
23.12.2015, 00:44
|
|
Быдлокодер;)
|
|
Регистрация: 19.11.2010
Сообщений: 4,338
|
|
Сообщение от FINoM
|
Я сонный, наверное, не пониимаю твоего сообщения.
|
Я к тому оптимизация таких спичек никогда не станет узким местом в моих приложениях.
Мне приятнее писать append, а не insertAjasentHTML (даже без ошибок написать не могу ).
PS: Я уже давно отказался от jQ, ввиду её не нужности, но для простейших операций с DOM мне приятнее её API, а не vanilla, поэтому я рад, что нашёл такую библиотеку. А то что я юзаю там 20-30%, меня не напрягает, ибо это опять таки оптимизация на спичках.
Последний раз редактировалось kobezzza, 23.12.2015 в 00:47.
|
|
23.12.2015, 00:50
|
|
Новичок
|
|
Регистрация: 05.09.2010
Сообщений: 2,298
|
|
Сообщение от kobezzza
|
даже без ошибок написать не могу
|
А автодополнение?
Сообщение от kobezzza
|
Я к тому оптимизация таких спичек никогда не станет узким местом в моих приложениях.
|
Это не оптимизация. Я сам говнокожу порой (на Матрешку посмотри ). Просто между VanillaJS и какой-нибудь библиотекой не вижу разницы. Если разницы нет, то логично выбрать то, что работает быстрее и зависит только от меня.
|
|
23.12.2015, 00:53
|
|
Быдлокодер;)
|
|
Регистрация: 19.11.2010
Сообщений: 4,338
|
|
Цитата:
|
А автодополнение?
|
jQ API я печатаю быстрее
Цитата:
|
Просто между VanillaJS и какой-нибудь библиотекой не вижу разницы.
|
Ну разница в сахаре. Сахар - это конечно условность. Тебе нравиться native, а мне native завёрнутый в привычный jQ API - не вижу ничего криминального в этой схеме.
|
|
23.12.2015, 01:24
|
Профессор
|
|
Регистрация: 07.11.2013
Сообщений: 4,662
|
|
FINoM, а как минимизировать подобные нативные конструкции как classList.contains? Попробуй... аля jq и получишь... при том получится что-то типа elem.has('class'), видишь как красиво))
А ты предлагаешь так извращаться да?
var classList = 'classList', contains = 'contains';
elem[classList][contains]('class');
Последний раз редактировалось Rise, 23.12.2015 в 01:40.
|
|
23.12.2015, 01:40
|
|
Быдлокодер;)
|
|
Регистрация: 19.11.2010
Сообщений: 4,338
|
|
Глянул DOM level 4 спеку - а симпатично уже выходит
|
|
23.12.2015, 12:25
|
|
Новичок
|
|
Регистрация: 05.09.2010
Сообщений: 2,298
|
|
Rise, жми код как хочешь. В маленьких проектах синтаксис DOM API не сильно повлияет на результирующий код. В больших - юзай фреймворки.
Сообщение от kobezzza
|
Глянул DOM level 4 спеку - а симпатично уже выходит
|
Вот вот.
|
|
23.12.2015, 14:59
|
|
Новичок
|
|
Регистрация: 05.09.2010
Сообщений: 2,298
|
|
Не ожидал такого срача на Хабре
|
|
29.12.2015, 03:24
|
|
Новичок
|
|
Регистрация: 05.09.2010
Сообщений: 2,298
|
|
Багфикс заставил распухнуть функцию до 415 символов. Вчера удалось вернуть прежний размер (408), но не понятно, как жать дальше. У меня создаётся впечатление, что жать уже некуда (без eval, конечно же). Вот, финальный, неминифицированный вариант: https://github.com/finom/bala/blob/master/bala.js
Жму вот этой штукой, вручную: http://closure-compiler.appspot.com/
Есть идеи, как еще можно уменьшить количество символов?
Понятно, что плюс-минус пара байт ничего не решат. У меня чисто спортивный интерес.
|
|
29.12.2015, 04:09
|
|
Новичок
|
|
Регистрация: 05.09.2010
Сообщений: 2,298
|
|
Сразу после предыдущего сообщения пришли две идеи:
1. В парсере заменить document.createElement('q') на document.createElement(s_addEventListener) (где s_addEventListener - это 'addEventListener'). Разница только в том, что вместо валидного элемента создается HTMLUnknownElement.
2. /f/.test(typeof s) (является ли переменная функцией) заменил на это: (typeof s)[7] (мы заранее знаем, что переменная не undefined).
И небольшой чит: я убрал запятую после объявления функции в примерах, сохранив 1 байт. Теперь "убийца" занимает 400 символов.
Опять сижу и думаю, что жать некуда, не пожертвовав функциональностью.
|
|
|
|