Обозначение массива или .method () - что быстрее? - PullRequest
0 голосов
/ 23 февраля 2012

Я наткнулся на нотацию массива в JavaScript и подумал, что будет быстрее или лучше написать.Я думаю, что вторую версию сложнее читать, но есть ли в этом какие-то преимущества?Или кто-то использует этот способ вызова методов?Или нет разницы между теми, что касаются их скорости?

  • $('#myContainer')['addClass']("active");

  • $('#myContainer').addClass("active");

Я привык делать это вторым способом, но первый способ быстрее или есть какие-то другие преимущества от использования первой версии?

Ответы [ 3 ]

6 голосов
/ 23 февраля 2012

JSPerf: http://jsperf.com/brackets-vs-dot-notation

Согласно perf, в некоторых браузерах обозначение скобками быстрее.

Это разновидность микрооптимизации, которую следует избегать1007 *.Выберите нотацию, которая кажется наиболее удобной .

3 голосов
/ 23 февраля 2012

Нет, первая версия используется, когда вы динамически обращаетесь к неизвестному свойству или когда свойство содержит специальные символы.Использование обозначения в скобках сделает ваш код труднее писать, вероятно, хуже будет минимизировать, и будет менее эффективным для выполнения.Не делайте этого.

Кроме того, это ужасно:)


PS Обозначение в скобках не является магической функцией jQuery.Это часть JavaScript.

1 голос
/ 23 февраля 2012

Зависит от движка javascript, который запускает код, но, поскольку они оба скомпилированы в один и тот же код, я действительно сомневаюсь, что будут существенные различия в производительности.

При оптимизации кода сосредоточьтесь на циклах, а не на таких простых вещах, как эта:)

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