Уважаемые яваскриптеры и яваскриптизерши, держите новую домашку на выходные. На этот раз кодить ничего не нужно. Предлагаю ответить вам на один вопрос. Что вам нравится и не нравится в яваскрипте? Пожалуйста, похвалите и поругайте яваскрипт. Вознесите его к небесам и опустите в низины кала.
23.10.2009
20.10.2009
Нет отрицательной логике
Что общего у этого кусочка яваскрипта (время от времени встречаю такое в чужом коде):
function init(noLoginForm) {
if (!noLoginForm) {
...
}
}
и этого фрагмента формы (постоянно сталкиваюсь на сайтах):
Как вы уже, конечно, догадались, это отрицательная логика переменной и чекбокса. Не знаю как вы, а я иногда подвисаю, пытаясь разобраться, как это работает. Во всяком случае, чтобы врубиться в отрицательную логику, мне приходится затратить немного больше мозгового процессорного времени, поэтому я всегда предпочитаю положительную логику:
function init(showLoginForm) {
if (showLoginForm) {
...
}
}
(Не вижу ничего плохого в том, чтобы по умолчанию чекбокс был зажженным.)
Кстати, думаю, именно по этой причине в Гугл Ридире чекбокс Mark as unread переделали в Mark as read.
15.10.2009
Домашка №1
По примеру Сергея тоже хочу загрузить вас домашкой :) Не пугайтесь, задания не сложные (пока). Итак, сегодня две задачки по яваскрипту.
Задача 1
Написать метод, который принимает два массива в качестве параметров и возвращает позицию, начиная с которой второй параметр входит как подмассив в первый параметр.
Пример. Первый массив: [4, 8, 15, 16, 23, 42], второй массив: [15, 16], результат: 2
Задача 2
Есть массив с числами. Нужно написать метод, который трансформирует исходный массив в массив функций, которые возвращают исходные числа.
Пример. На входе: [4, 8, 15], на выходе: [function() {return 4;}, function() {return 8;}, function() {return 15;}]
10.10.2009
Откуда берутся веб-разработчики?
Думаете это обычный гимнастический мяч валяется возле моего рабочего стола? А вот и нет! Это яйцо, из которого скоро вылупится новый веб-разработчик.