Вопрос производительности Javascript - PullRequest
0 голосов
/ 20 ноября 2010

Мне так любопытно, потому что я поддерживаю 3d движок, написанный на Javascript.

  1. Что быстрее, parseInt(el.style.width) или el.offsetWidth?
  2. Должен ли я писатьparseInt(el.offsetWidth)?
  3. Что быстрее, getElementById() или childNodes[]?
  4. Что быстрее, new Image() или appendChild('img')?
  5. Дайте мне пожалуйстассылка на великолепное руководство по производительности Javascript

Спасибо!

Ответы [ 2 ]

4 голосов
/ 20 ноября 2010

У вас здесь немного путаницы.

1. Что быстрее, parseInt (el.style.width) или el.offsetWidth?

  • el.style.width дает вам ширину, установленную javascript или атрибутом стиля в разметке.

  • offsetWidth показывает текущую ширину элемента (включая границы).

2. Должен ли я написать parseInt(el.offsetWidth)?

Нет, offsetWidth возвращает число. Но вы должны указывать основание всякий раз, когда вы используете parseInt!

3. Что быстрее, getElementById() или childNodes[]?

Если у вас есть родитель, используйте childNodes. Если у вас есть идентификатор, вы можете использовать byId. Производительность будет зависеть от браузера ( test ).

4. Что быстрее, new Image() или appendChild('img')?

Если вы хотите заставить браузер загружать ресурс, используйте new Image(). Если вы хотите добавить изображение в макет, используйте appendChild(IMAGE_ELEMENT)

5. Дайте мне, пожалуйста, ссылку на великолепное руководство по производительности Javascript

Я лучше оставлю вас с этой ссылкой: http://jsperf.com/, и позволю вам провести A / B-тестирование.

0 голосов
/ 20 ноября 2010

Вот несколько сайтов, посвященных Javascript.

Действительно старый сайт ... но дает некоторое представление.

http://home.earthlink.net/~kendrasg/info/js_opt/jsOptMain.html

Ссылка на книгу

http://oreilly.com/server-administration/excerpts/even-faster-websites/writing-efficient-javascript.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...