То, что я пытаюсь сделать, чтобы сделать мой сайт, становится довольно сложным, некоторые из вещей, которые нужно сделать, занимают достаточно много времени, чтобы дать видимые задержки.Советы по оптимизации javascript
В основном, добавление контента в документ замедляет работу, а также анимацию jquery, которую я использую.
Я создаю элементы, используя document.createElement("div")
, вместо того, чтобы просто делать document.write("<div id='someId'></div>")
, а анимация - это настраиваемая анимация с использованием .animation()
;
Мне интересно, как я могу продолжать добавлять контент, поскольку я только предотвращаю замораживание браузера каждый раз, когда я хочу что-то добавить.
Любые предложения для ускорения работы, поэтому есть меньше задержки? Советы по тому, что следует избегать в программировании на JavaScript, что дает увеличенную задержку, было бы действительно полезно.
Насколько геттеры/сеттеры препятствуют работе? То, как меня научили программировать, не должно просто оставлять переменные общедоступными, но я думаю, что если геттеры и сеттеры занимают много вычислительной мощности, то это может стоить жертвы ... – 2009-05-26 03:09:23
innerHTML определенно существует в Firefox 3.0.4 и более поздних версиях , а также в Safari 3. Я использовал его. Несмотря на то, что он очень хорошо не может быть лучшим кросс-платформенным методом манипуляции, он не настолько ограничен, как вы думаете. –
@A. Леви: Может, я думал о innerText? @Matt: используйте функцию, а не функции приемника/сеттера ECMAScript. Getters и seters побеждают кэширование свойств и приводят к неожиданному вызову функции, который катастрофически влияет на производительность - например, в Safari4, я считаю, что getters/setters примерно в 10 раз медленнее обычного вызова функции. – olliej