Понятно. То есть вам просто удобнее создавать несколько методов непосредственно в объекте, чем создавать свойства там же и методы один раз в прототипе. В вашем случае свойства хранятся в объекте активации конструктора (вы как бы не замусорили сам объект), но при этом вы наполняете каждую инстанцию заново создаваемыми однотипными методами (замыканиями), что не оптимально в отношении создания функций и вряд ли удобно в отношении организации под-над-структур (наследование).
3. $() и проч. гадость используется т.к. им удобно, дело даже не в DOM-центричности, а в упрощённой оболочке, на чём бы она не базировалась (хотя на чём, как не на DOM-e ей стоять в отношении browser scripting).
4. Диктует бережным отношением к НЕИЗВЕСТНОМУ клиенту, мы не знаем его канал, его оборудование, его возможности, мы обязаны беречь его миллисекунды и трафик. И совершенно не имеет значение то, что сеть наполнена видеобаннерами, кинАми и проч…
Если существует свойство со значением типа 'Undefined', то typeof скажет 'undefined'. Если свойство не существует вообще в природе, то typeof тоже скажет 'undefined'.
Аналитический мыслитель может выбрать одно из двух — или верить typeof, а значит несуществующее свойство существует и у него есть значение, а у того тип… или 'typeof' просто не надо переводить буквально, он показывает не тип, а плюс-минус-тип-а-то-и-не-тип-вовсе…
Ну, будет у нас с одной стороны всем доступный this.x, а с другой типа спрятанный this.getX() и чего? Больше буков, замыкание и лишний вызов спасают мир от какой страшной опасности? Теоретически вы чётко обозначаете «очевидный плюс», но насколько одна структура удобнее и полезнее другой на практике… На мой взгляд простая инкапсуляция в объекте — идеальный вариант для быстрых компактных скриптов. А всякие там private-public-protected оставим для поболтать. ;)
1. JS объектно ориентирован по самые гланды — объекты, инкапсуляция в общем смысле непосредственно в этих объектах, в более прикладном смысле — так, как это показано в статье, полиморфизм и динамика, наследование сквозь делегирование… Оператор 'new' само собой мало презентабелен, хеш-объектов в JS нет, есть объекты.
1.1. Какой-то не очень интересный пункт.
1.2. Семь строк?
2. Определение как определение. Одно из многих.
3. Неужели это кому-то не ясно, чтобы об этом отдельно писать. Для ёжиков: DOM — только лишь часть мира JS.
3.1. Небольшой скрипт для работы с DOM (only) может сделать и DOM самоцелью.
3.2. Не понял.
4. Клиент-сайд в его нынешнем виде всё-таки диктует приоритет малого кода.
5. Обязательно!!! нужно считать миллисекунды, размеры и проч. Клиента стоит уважать, ему на удобство моей/вашей разработки… с высокой башни..., ему нужно быстро и прозрачно.
Алгоритмы действительно известны, академичны и проч., но дьявол кроется в программной реализации, в логике. И открытый код не гарантирует и не запускает автоматический вселенский поиск уязвимостей. Может найдут, а может и нет. Нам остаётся только надеятся на то, что в программе нет дыр, что она не оставила бэкдор, что пароль не хранится в открытом виде и т.д.
Давно и с удовольствием пользуюсь трукрипт-ом, бесткрипт-ом, но всегда держу в голове потенциальную возможность вскрытия профессионалами без паяльника.
Всё как всегда. Представьте, что вместо дискуссии/обсуждения/критики нужно было бы обязательно отвечать скриптом на скрипт, либой на либу, кодом на код… И куда бы мы приехали?
— Извините, но Ваше кино убогое, товарищ режиссёр.
— А ты попробуй-ка сними лучше. Тогда и поговорим.
>Можно ли говорить, что «Здравствуй,\u000A мир» — токен, содержащий символ перевода строки?
Да, содержит «escape sequence», являющуюся частью токена, но не содержит «line terminator», не допускаемый в токене и являющийся частью сорца.
>Содержит ли этот токен символы кавычек?
Да.
>Escape character-ы — живут не «внутри токенов»
Внутри. Смотрите, например, токен string literal — это буквально «zero or more characters enclosed in single or double quotes, each character may be represented by an escape sequence». Отсюда эскейп-последовательность является составной частью токена, но не является терминальным символом, т.к. в токене его быть не может. А уже то, что последовательность внутри строки впоследствии будет транслирована в перевод строки — это к токенам (грамматике) не относится, для движка видна строка и всё.
3. $() и проч. гадость используется т.к. им удобно, дело даже не в DOM-центричности, а в упрощённой оболочке, на чём бы она не базировалась (хотя на чём, как не на DOM-e ей стоять в отношении browser scripting).
4. Диктует бережным отношением к НЕИЗВЕСТНОМУ клиенту, мы не знаем его канал, его оборудование, его возможности, мы обязаны беречь его миллисекунды и трафик. И совершенно не имеет значение то, что сеть наполнена видеобаннерами, кинАми и проч…
Аналитический мыслитель может выбрать одно из двух — или верить typeof, а значит несуществующее свойство существует и у него есть значение, а у того тип… или 'typeof' просто не надо переводить буквально, он показывает не тип, а плюс-минус-тип-а-то-и-не-тип-вовсе…
1.1. Какой-то не очень интересный пункт.
1.2. Семь строк?
2. Определение как определение. Одно из многих.
3. Неужели это кому-то не ясно, чтобы об этом отдельно писать. Для ёжиков: DOM — только лишь часть мира JS.
3.1. Небольшой скрипт для работы с DOM (only) может сделать и DOM самоцелью.
3.2. Не понял.
4. Клиент-сайд в его нынешнем виде всё-таки диктует приоритет малого кода.
5. Обязательно!!! нужно считать миллисекунды, размеры и проч. Клиента стоит уважать, ему на удобство моей/вашей разработки… с высокой башни..., ему нужно быстро и прозрачно.
Алгоритмы действительно известны, академичны и проч., но дьявол кроется в программной реализации, в логике. И открытый код не гарантирует и не запускает автоматический вселенский поиск уязвимостей. Может найдут, а может и нет. Нам остаётся только надеятся на то, что в программе нет дыр, что она не оставила бэкдор, что пароль не хранится в открытом виде и т.д.
Давно и с удовольствием пользуюсь трукрипт-ом, бесткрипт-ом, но всегда держу в голове потенциальную возможность вскрытия профессионалами без паяльника.
— Извините, но Ваше кино убогое, товарищ режиссёр.
— А ты попробуй-ка сними лучше. Тогда и поговорим.
Без разницы, важна суть.
>Можно ли говорить, что «Здравствуй,\u000A мир» — токен, содержащий символ перевода строки?
Да, содержит «escape sequence», являющуюся частью токена, но не содержит «line terminator», не допускаемый в токене и являющийся частью сорца.
>Содержит ли этот токен символы кавычек?
Да.
>Escape character-ы — живут не «внутри токенов»
Внутри. Смотрите, например, токен string literal — это буквально «zero or more characters enclosed in single or double quotes, each character may be represented by an escape sequence». Отсюда эскейп-последовательность является составной частью токена, но не является терминальным символом, т.к. в токене его быть не может. А уже то, что последовательность внутри строки впоследствии будет транслирована в перевод строки — это к токенам (грамматике) не относится, для движка видна строка и всё.