Вообще JS в браузере не для выполнения HTML, а для выполнения только JS.
Дело же в том, что скрипты могут быть как внешние, так и встроенные в код страницы. Так на странице внизу есть, например, блок script без src и с кодом скрипта прям в теле. И кстати, onclick это тоже скрипт. Например, в случае
Code: Select all
onclick="document.getElementById('wind').style.display='none'; return false;"
Фактически выполняется безымянная функция с этим кодом в теле. В принципе туда можно запихнуть код любой сложности, но обычно так не делают так-как это сильно загромождает HTML-код страницы и усложняет поддержку. Кстати, return false там нужен для того, чтоб предотвратить стандартное действие объекта.
Ещё скрипты клик по элементу можно навешивать через node.addEventListener("click",function(e){...}) из какого-либо иного скрипта. В отличие от onclick, который позволяет добавить лишь 1 обработчик, таких скриптов навешено может быть сколь угодно много и в теле страницы их видно не будет. В Google Chrome если выбрать элемент страницы в инспекторе страницы такие обработчики нажатий будут отображаться справа во вкладке Even Listeners.
Естественно если выключить поддержку JS во всём браузере, то ни какие скрипты на странице работать не будут, в том числе и встроенные через onclick.