Почему document.write считается «плохой практикой»?

Почему document.write считается «плохой практикой»?

Можно рассматривать document.write () (и .innerHTML) как оценку строки исходного кода. Это может быть очень удобно для многих приложений. Например, если вы получаете HTML-код в виде строки из некоторого источника, удобно просто «оценить» его.

В контексте Lisp манипулирование DOM было бы похоже на манипулирование структурой списка, например, создание списка (оранжевого цвета) с помощью:

 (cons 'orange '()) 

И document.write () — это как вычисление строки, например, создание списка путем оценки строки исходного кода, например:

 (eval-string "(cons 'orange '())") 

Lisp также обладает очень полезной способностью создавать код, используя манипуляции со списком (например, используя «стиль DOM» для создания дерева разбора JS). Это означает, что вы можете создать структуру списка, используя «стиль DOM», а не «стиль строки», а затем запустить этот код, например, так:

 (eval '(cons 'orange '())) 

Если вы реализуете инструменты кодирования, такие как простые живые редакторы, очень удобно иметь возможность быстро оценивать строку, например, с помощью document.write () или .innerHTML. Lisp идеален в этом смысле, но вы можете делать очень крутые вещи и в JS, и многие люди делают это, например, http://jsbin.com/

Понравилась статья? Поделиться с друзьями:
JavaScript & TypeScript
Adblock
detector