Что такое ненавязчивый Javascript в условиях неспециалиста?

Что такое ненавязчивый Javascript в условиях неспециалиста? Примером было бы приятно помочь моему пониманию.

Ответ 1

Оформить статью в википедии:

"Ненавязчивый JavaScript" является общим подход к использованию JavaScript в веб-страница. Хотя этот термин не является формально определены, его основные принципы обычно понимаются как:

  • Разделение функциональности ( "поведенческий уровень" ) с веб-страницы структура/содержание и презентация
  • Рекомендации по устранению проблем с традиционным JavaScript программирование (например, браузер несогласованности и масштабируемость)
  • Прогрессивное расширение для поддержки пользовательских агентов, которые могут не поддержка расширенного JavaScript Функциональность [2]

Таким образом, это в основном разделение поведения или javascript из презентации или html.

Пример:

<input type="button" id="btn" onclick="alert('Test')" />

Это не ненавязчивый javascript, потому что поведение и презентация неоднозначны. onclick не должен присутствовать в html и должен быть частью самого javascript, а не html.

В приведенном выше примере вы можете быть ненавязчивым:

<input type="button" id="btn" />

JavaScript:

var el = document.getElementById('btn');
el.onclick = function(){
  alert('Test');
};

В то время мы отделили javascript от html с очень простым примером.

Примечание:

Существует более ненавязчивый javascript, который можно проверить в статье в википедии.