Комментарии: Способы сокращения JavaScript кода (продолжение) http://www.codeisart.ru/javascript-coding-tips-to-write-less-code-continuation/ Статьи по SEO, дизайну и программированию. Переводы на веб-тематику. Исследования и наработки в области интернет-технологий. Mon, 14 Jul 2014 11:15:57 +0000 hourly 1 http://wordpress.org/?v=3.5.1 Автор: Гвидон Маляров http://www.codeisart.ru/javascript-coding-tips-to-write-less-code-continuation/comment-page-1/#comment-76 Гвидон Маляров Wed, 03 Sep 2008 08:11:11 +0000 http://www.codeisart.ru/?p=508#comment-76 не уверен, что стоит полностью отказываться от комментариев. хотя, конечно у себя свожу их к минимуму — ограничиваюсь кратким описанием функции/объекта (не более 3-4 слов) капсом перед определением

]]>
Автор: Octane http://www.codeisart.ru/javascript-coding-tips-to-write-less-code-continuation/comment-page-1/#comment-66 Octane Fri, 29 Aug 2008 10:52:41 +0000 http://www.codeisart.ru/?p=508#comment-66 Записи

var array = Array.prototype.slice.call(document.body.childNodes);

и

var array = [].slice.call(document.body.childNodes);

практически одно и тоже, но в первом случае не создается пустой массив — это уже можно отнести к оптимизации… Но оба этих варианта не работают в «Internet Explorer».

Про массивы, да я знаю, что при использовании конструкции «for(key in array)» значениями «key» являются ключи массива, поставьте «array[key]», чтобы использовать значения массива.

Кстати, Ваш пример «for(var key in [x:'xxx',y:'yyy',z:'zzz'])» не корректный, таким образом массивы записывать нельзя. Правильно будет «{x: 'xxx', y: 'yyy', z: 'zzz'}», но это уже ассоциативный массив…

]]>
Автор: Sergey http://www.codeisart.ru/javascript-coding-tips-to-write-less-code-continuation/comment-page-1/#comment-65 Sergey Fri, 29 Aug 2008 09:50:06 +0000 http://www.codeisart.ru/?p=508#comment-65 Делаю обычно так

var array = Array.prototype.slice.call(document.body.childNodes);

на счет for( .. in ..) вы уверены что оба варианта вернут одно и тоже?
В конструкции for(var key in ['xxx','yyy','zzz']) key будет
0,1,2

а в for(var key in [x:'xxx',y:'yyy',z:'zzz']) ,будет
x,y,z

И это я только начал смотреть.

]]>
Автор: Octane http://www.codeisart.ru/javascript-coding-tips-to-write-less-code-continuation/comment-page-1/#comment-51 Octane Sun, 24 Aug 2008 17:40:45 +0000 http://www.codeisart.ru/?p=508#comment-51 Да, действительно, увлекся сокращением, пропустил «call» или «apply». Только теперь заметил, что не работает в IE, попробую найти решение… Странно вообще, с объектом «arguments», который тоже не является массивом, код работает в IE, а вот с «DOMNodeList» — нет.

]]>
Автор: Kolyaj http://www.codeisart.ru/javascript-coding-tips-to-write-less-code-continuation/comment-page-1/#comment-50 Kolyaj Sun, 24 Aug 2008 17:22:23 +0000 http://www.codeisart.ru/?p=508#comment-50 Вы уверены насчет slice?

slice(startIndex[, endIndex]);
]]>