давно
пишу страницуо недостатках JavaScript
. Самое неприятное в разработке — это Javascript-код.Итак, сегодня я собираюсь поговорить о недостатках Javascript.
Давайте сначала поговорим о некоторых основных вопросах.
1: Низкая совместимость
. В WWW существует множество браузеров, таких как Netscape Navigator, Mosaic и HotJava и т. д., но каждый браузер поддерживает JavaScript в разной степени. Браузеры, поддерживающие JavaScript, и те, которые не полностью поддерживают JavaScript, необходимо просматривать. браузер с При использовании сценариев JavaScript на домашней странице будет определенный пробел в эффекте, а иногда он может даже не отображаться.
В результате разработчикам JavaScript часто приходится разрабатывать разные версии для разных браузеров. Рабочая нагрузка практически возросла, и в основном это повторяющаяся работа. Это то, чего мы не хотим видеть
2: вызвать утечку памяти
JavaScript — это язык управления памятью. Это означает, что JavaScript имеет встроенные возможности сбора пакетов, поэтому он может извлекать переменные, которые больше не используются ссылочными путями, и перераспределять память, используемую этими переменными.
Это нормально в качестве базового принципа работы, но из-за циклических ссылок, когда объекты модели и элементы представления ссылаются друг на друга, вы не можете полагаться на эту функцию для оптимизации использования памяти. В принципе, если объект нулевой, то и элемент равен нулю, но если есть обратные ссылки от элементов к объектам, сборщик пакетов не будет трогать эти объекты.
Теперь возникает проблема: в файловой объектной модели на любой узел DOM в дереве файлов могут ссылаться другие элементы дерева, независимо от того, ссылаются ли на него другие объекты! Следовательно, любой объект, отмеченный в сборщике пакетов, на который ссылается узел DOM назад, должен быть пустым в этом направлении, иначе его память останется в выделенном состоянии. На самом деле программисты часто игнорируют это. Именно поэтому память многих масштабных веб-игр быстро увеличивается после открытия.
3: Нет поддержки потокового мультимедиа
. Можно использовать только метод встраивания других плееров.
Первоначальная цель разработки Javascript — «заставить веб-страницы двигаться». Это было достигнуто, и произошли некоторые прорывы. Однако «двигаться» — это просто «двигаться», чего недостаточно. Когда Javascript сталкивается с Rich Application, он бессилен.
Теперь, если вы хотите обсудить разработку JavaScript, вам не следует ограничиваться Javascript, а следует рассматривать HTML (DHTML), DOM, Javascript и CSS совместно. Подумайте об этом с точки зрения браузерного приложения (простите меня за изобретение слова «браузерное приложение»).