Отличающийся DOCTYPE не повлияет на JavaScript. Вместо этого он будет влиять на html / css рендеринг .
Хотя, возможно, вы захотите рассмотреть некоторые различия , которые могут возникнуть, которые влияют на JavaScript
Объявление DOCTYPE информирует браузер о том, как он должен анализировать страницу. Когда DOCTYPE отсутствует, браузер может делать разные предположения и, следовательно, производить различный рендеринг.
Фактически, без DOCTYPE chrome предполагает, что тип документа - HTML 4.01 Transitional, а не XHTML 1.0 Transitional, как указано на другой странице. Это обычно приводит к различным визуализациям.
Рассматривая ваш Javascript, он выполняет некоторые проверки, чтобы определить, какой это браузер и как он должен его отображать. Лучше всего будет использовать зрелую библиотеку JavaScript, которая корректно поддерживает кросс-браузерную поддержку. Я бы предложил JQuery в качестве примера достойного использования фреймворка. Он имеет плагины для поддержки именно той функции, которую вы пытаетесь реализовать, и многих других.