Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   document.write - чем плохо? (https://javascript.ru/forum/misc/11612-document-write-chem-plokho.html)

person 03.09.2010 06:45

document.write - чем плохо?
 
Цитата:

Сообщение от Sweet (Сообщение 69554)
document.write - вообще забудь! Это устарело + от этого метода одни проблемы!!!
[/JS]

Это заявление вижу с пугающей частотой.
Но кроме ля-ля, во всех этих заявлениях нет информации.
Хотелось бы конкретики.
И примеры, вот это плохо, а это хорошо. И почему.

Gvozd 03.09.2010 07:33

не слушай этих дядек.
используй везде и всегда document.write()
и другим советуй.
ведь чем чаще будет использоватся он, тем больше я буду получать как специалист
Пародия на вредные советы

Kolyaj 03.09.2010 09:20

http://alljs.ru/articles/document-write.html

Оно не хорошо или плохо, оно как правило не уместно. Но бывает нужно.

subzey 03.09.2010 10:41

«Что естесственно, то не безобразно.»

with, eval и document.write (document.writeln) не плохи, они просто очень неудобны и путают код. Например, найти достойное применение with и eval крайне трудно. А document.write не вяжется с концепцией ненавязчивого яваскрипта.

Kolyaj 03.09.2010 10:46

with и eval как раз плохи, там где их хочется заюзать нужно просто кэшировать объект и использовать new Function.

Цитата:

Сообщение от subzey
А document.write не вяжется с концепцией ненавязчивого яваскрипта.

Больше половины существующих скриптов не вяжется с ней :)

Gozar 03.09.2010 11:14

Цитата:

Сообщение от Kolyaj (Сообщение 69570)
Оно не хорошо или плохо, оно как правило не уместно. Но бывает нужно.

+1

person 06.09.2010 05:52

Цитата:

Сообщение от Kolyaj (Сообщение 69570)
http://alljs.ru/articles/document-write.html

Оно не хорошо или плохо, оно как правило не уместно. Но бывает нужно.

Пожалуй лучше не скажешь.
Было дело, приходилось использовать, и eval, и document.write

Всем спасибо.

B~Vladi 06.09.2010 12:46

Если есть код JS в виде текста и его необходимо запустить, есть 2 простых способа:
1. eval - используется там, где необходимо запустить код в нужной области видимости.
2. new Function - используется там, где необходимо запустить код в глобальной области видимости.

with я использовал для динамического формирования scope. Это единственный возможный вариант для такой задачи.

Так что это вполне полезные инструменты, только нужно уметь применять к месту.


Часовой пояс GMT +3, время: 05:36.