Хотя возможности языка JavaScript и достаточно велики, но некоторые вещи он просто не в состоянии выполнить. Поэтому надо четко понимать для каких целей JavaScript можно смело использовать, а где придется обратиться к другим технологиям. Существуют определенные ограничения JavaScript, знать и понимать которые необходимо.
Медленная скорость
Любые скрипты являются частью веб-сайта, внедряются ли они прямо в html-документ
или хранятся в отдельном файле. В любом случае, они загружаются совместно с
веб-страницей, которая к ним обращается. Чем больше размер скрипта, тем больше
требуется времени браузеру для его загрузки на локальный компьютер. Здесь действуют
те же принципы, что и для веб-страниц. После получения программы, браузер анализирует
ее код и выполняет набор действий, в ней предписанный. Если скрипт содержит
ошибки или не оптимизирован для быстрой работы, браузер тратит определенное
время на его разбор.
Все это, а также медленная скорость работы JavaScript по сравнению с серверными
языками программирования, существенно снижает общую скорость загрузки и работы
скриптов. Для сложных проектов, требующих большое количество операций и вычислений,
JavaScript лучше не использовать.
Работа с графикой
Средства JavaScript не позволяют напрямую создавать и манипулировать графическими
образами. Встроенные возможности по операциям с изображениями могут работать
только с существующими файлами - загружать, трансформировать размеры и менять
источник изображения. Все остальные действия по работе с графикой недоступны.
Нет работы с файлами
Для повышения безопасности, любые действия с файлами в языке JavaScript отсутствует.
Нет никакой возможности писать данные в файл или считывать из него. Cookie сюда
не относится, поскольку имеет ограниченную сферу применения.
Базы данных
Как и в ситуации с файлами, любые возможности по подключению к базе данных и
управлению ей не доступны. В браузер Internet Explorer введена возможность связывания
данных, но в полном смысле базой данных это не является.
Работа с сетью
JavaScript не поддерживает организацию сети в любом виде, за исключением возможности
делать ссылку на любой адрес.
Открытость кода
Как и содержимое веб-страницы, исходный код скрипта легко можно посмотреть и
скопировать к себе на компьютер. Любые попытки ограничить доступ к содержанию
путем отслеживания правой кнопки мыши и запрета на ее использования, невозможность
выделить и скопировать в буфер обмена информацию, а также просмотр html-кода,
свободно обходятся. Поэтому попытка, например, сделать тесты и проверку введенных
данных, хоть и успешна, но наталкивается на то условие, что правильные ответы
можно узнать, просто просмотрев текст скрипта.